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 classXdsClusterResource.CdsUpdatexDS 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.StringADS_TYPE_URL_CDS(package private) static java.lang.StringAGGREGATE_CLUSTER_TYPE_NAME(package private) static booleanenableLeastRequestprivate static XdsClusterResourceinstanceprivate io.grpc.LoadBalancerRegistryloadBalancerRegistryprivate static java.lang.StringTYPE_URL_UPSTREAM_TLS_CONTEXTprivate static java.lang.StringTYPE_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.CdsUpdatedoParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage)protected java.lang.StringextractResourceName(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.StringgetIdentityCertInstanceName(CommonTlsContext commonTlsContext)static XdsClusterResourcegetInstance()private static java.lang.StringgetRootCertInstanceName(CommonTlsContext commonTlsContext)(package private) static booleanhasNegativeValues(com.google.protobuf.Duration duration)protected booleanisFullStateOfTheWorld()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.CdsUpdateprocessCluster(Cluster cluster, java.util.Set<java.lang.String> certProviderInstances, Bootstrapper.ServerInfo serverInfo, io.grpc.LoadBalancerRegistry loadBalancerRegistry)booleanshouldRetrieveResourceKeysForArgs()java.lang.StringtypeName()java.lang.StringtypeUrl()protected java.lang.Class<Cluster>unpackedClassName()(package private) static voidvalidateCommonTlsContext(CommonTlsContext commonTlsContext, java.util.Set<java.lang.String> certProviderInstances, boolean server)(package private) static OutlierDetectionvalidateOutlierDetection(OutlierDetection outlierDetection)(package private) static UpstreamTlsContextvalidateUpstreamTlsContext(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:XdsResourceTypeExtract 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.Resourcewhich then provides the name. This method is only called for the old approach.- Overrides:
extractResourceNamein classXdsResourceType<XdsClusterResource.CdsUpdate>- Returns:
- the resource's name, or
nullif name is not stored within the resource contents
-
typeName
public java.lang.String typeName()
- Specified by:
typeNamein classXdsResourceType<XdsClusterResource.CdsUpdate>
-
typeUrl
public java.lang.String typeUrl()
- Specified by:
typeUrlin classXdsResourceType<XdsClusterResource.CdsUpdate>
-
shouldRetrieveResourceKeysForArgs
public boolean shouldRetrieveResourceKeysForArgs()
- Specified by:
shouldRetrieveResourceKeysForArgsin classXdsResourceType<XdsClusterResource.CdsUpdate>
-
isFullStateOfTheWorld
protected boolean isFullStateOfTheWorld()
- Specified by:
isFullStateOfTheWorldin classXdsResourceType<XdsClusterResource.CdsUpdate>
-
unpackedClassName
protected java.lang.Class<Cluster> unpackedClassName()
- Specified by:
unpackedClassNamein classXdsResourceType<XdsClusterResource.CdsUpdate>
-
doParse
protected XdsClusterResource.CdsUpdate doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) throws XdsResourceType.ResourceInvalidException
- Specified by:
doParsein 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)
-
-