Package io.grpc.xds
Class XdsClusterResource
- java.lang.Object
-
- io.grpc.xds.client.XdsResourceType<XdsClusterResource.CdsUpdate>
-
- io.grpc.xds.XdsClusterResource
-
class XdsClusterResource extends XdsResourceType<XdsClusterResource.CdsUpdate>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
XdsClusterResource.CdsUpdate
xDS resource update for cluster-level configuration.-
Nested classes/interfaces inherited from class io.grpc.xds.client.XdsResourceType
XdsResourceType.Args, XdsResourceType.ResourceInvalidException, XdsResourceType.StructOrError<T>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.String
ADS_TYPE_URL_CDS
(package private) static java.lang.String
AGGREGATE_CLUSTER_TYPE_NAME
(package private) static boolean
enableLeastRequest
private static XdsClusterResource
instance
private io.grpc.LoadBalancerRegistry
loadBalancerRegistry
private static java.lang.String
TYPE_URL_UPSTREAM_TLS_CONTEXT
private static java.lang.String
TYPE_URL_UPSTREAM_TLS_CONTEXT_V2
-
Fields inherited from class io.grpc.xds.client.XdsResourceType
HASH_POLICY_FILTER_STATE_KEY, TRANSPORT_SOCKET_NAME_TLS, TYPE_URL_CLUSTER_CONFIG, TYPE_URL_TYPED_STRUCT, TYPE_URL_TYPED_STRUCT_UDPA
-
-
Constructor Summary
Constructors Constructor Description XdsClusterResource()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected XdsClusterResource.CdsUpdate
doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage)
protected java.lang.String
extractResourceName(com.google.protobuf.Message unpackedResource)
Extract the resource name from an older resource type that included the name within the resource contents itself.private static java.lang.String
getIdentityCertInstanceName(CommonTlsContext commonTlsContext)
static XdsClusterResource
getInstance()
private static java.lang.String
getRootCertInstanceName(CommonTlsContext commonTlsContext)
(package private) static boolean
hasNegativeValues(com.google.protobuf.Duration duration)
protected boolean
isFullStateOfTheWorld()
private static XdsResourceType.StructOrError<XdsClusterResource.CdsUpdate.Builder>
parseAggregateCluster(Cluster cluster)
private static XdsResourceType.StructOrError<XdsClusterResource.CdsUpdate.Builder>
parseNonAggregateCluster(Cluster cluster, java.util.Set<java.lang.String> certProviderInstances, Bootstrapper.ServerInfo serverInfo)
(package private) static XdsClusterResource.CdsUpdate
processCluster(Cluster cluster, java.util.Set<java.lang.String> certProviderInstances, Bootstrapper.ServerInfo serverInfo, io.grpc.LoadBalancerRegistry loadBalancerRegistry)
boolean
shouldRetrieveResourceKeysForArgs()
java.lang.String
typeName()
java.lang.String
typeUrl()
protected java.lang.Class<Cluster>
unpackedClassName()
(package private) static void
validateCommonTlsContext(CommonTlsContext commonTlsContext, java.util.Set<java.lang.String> certProviderInstances, boolean server)
(package private) static OutlierDetection
validateOutlierDetection(OutlierDetection outlierDetection)
(package private) static UpstreamTlsContext
validateUpstreamTlsContext(UpstreamTlsContext upstreamTlsContext, java.util.Set<java.lang.String> certProviderInstances)
-
Methods inherited from class io.grpc.xds.client.XdsResourceType
unpackCompatibleType
-
-
-
-
Field Detail
-
enableLeastRequest
static boolean enableLeastRequest
-
AGGREGATE_CLUSTER_TYPE_NAME
static final java.lang.String AGGREGATE_CLUSTER_TYPE_NAME
- See Also:
- Constant Field Values
-
ADS_TYPE_URL_CDS
static final java.lang.String ADS_TYPE_URL_CDS
- See Also:
- Constant Field Values
-
TYPE_URL_UPSTREAM_TLS_CONTEXT
private static final java.lang.String TYPE_URL_UPSTREAM_TLS_CONTEXT
- See Also:
- Constant Field Values
-
TYPE_URL_UPSTREAM_TLS_CONTEXT_V2
private static final java.lang.String TYPE_URL_UPSTREAM_TLS_CONTEXT_V2
- See Also:
- Constant Field Values
-
loadBalancerRegistry
private final io.grpc.LoadBalancerRegistry loadBalancerRegistry
-
instance
private static final XdsClusterResource instance
-
-
Method Detail
-
getInstance
public static XdsClusterResource getInstance()
-
extractResourceName
@Nullable protected java.lang.String extractResourceName(com.google.protobuf.Message unpackedResource)
Description copied from class:XdsResourceType
Extract the resource name from an older resource type that included the name within the resource contents itself. The newer approach has resources wrapped withenvoy.service.discovery.v3.Resource
which then provides the name. This method is only called for the old approach.- Overrides:
extractResourceName
in classXdsResourceType<XdsClusterResource.CdsUpdate>
- Returns:
- the resource's name, or
null
if name is not stored within the resource contents
-
typeName
public java.lang.String typeName()
- Specified by:
typeName
in classXdsResourceType<XdsClusterResource.CdsUpdate>
-
typeUrl
public java.lang.String typeUrl()
- Specified by:
typeUrl
in classXdsResourceType<XdsClusterResource.CdsUpdate>
-
shouldRetrieveResourceKeysForArgs
public boolean shouldRetrieveResourceKeysForArgs()
- Specified by:
shouldRetrieveResourceKeysForArgs
in classXdsResourceType<XdsClusterResource.CdsUpdate>
-
isFullStateOfTheWorld
protected boolean isFullStateOfTheWorld()
- Specified by:
isFullStateOfTheWorld
in classXdsResourceType<XdsClusterResource.CdsUpdate>
-
unpackedClassName
protected java.lang.Class<Cluster> unpackedClassName()
- Specified by:
unpackedClassName
in classXdsResourceType<XdsClusterResource.CdsUpdate>
-
doParse
protected XdsClusterResource.CdsUpdate doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) throws XdsResourceType.ResourceInvalidException
- Specified by:
doParse
in classXdsResourceType<XdsClusterResource.CdsUpdate>
- Throws:
XdsResourceType.ResourceInvalidException
-
processCluster
static XdsClusterResource.CdsUpdate processCluster(Cluster cluster, java.util.Set<java.lang.String> certProviderInstances, Bootstrapper.ServerInfo serverInfo, io.grpc.LoadBalancerRegistry loadBalancerRegistry) throws XdsResourceType.ResourceInvalidException
-
parseAggregateCluster
private static XdsResourceType.StructOrError<XdsClusterResource.CdsUpdate.Builder> parseAggregateCluster(Cluster cluster)
-
parseNonAggregateCluster
private static XdsResourceType.StructOrError<XdsClusterResource.CdsUpdate.Builder> parseNonAggregateCluster(Cluster cluster, java.util.Set<java.lang.String> certProviderInstances, Bootstrapper.ServerInfo serverInfo)
-
validateOutlierDetection
static OutlierDetection validateOutlierDetection(OutlierDetection outlierDetection) throws XdsResourceType.ResourceInvalidException
-
hasNegativeValues
static boolean hasNegativeValues(com.google.protobuf.Duration duration)
-
validateUpstreamTlsContext
static UpstreamTlsContext validateUpstreamTlsContext(UpstreamTlsContext upstreamTlsContext, java.util.Set<java.lang.String> certProviderInstances) throws XdsResourceType.ResourceInvalidException
-
validateCommonTlsContext
static void validateCommonTlsContext(CommonTlsContext commonTlsContext, java.util.Set<java.lang.String> certProviderInstances, boolean server) throws XdsResourceType.ResourceInvalidException
-
getIdentityCertInstanceName
private static java.lang.String getIdentityCertInstanceName(CommonTlsContext commonTlsContext)
-
getRootCertInstanceName
private static java.lang.String getRootCertInstanceName(CommonTlsContext commonTlsContext)
-
-