Skip to content

Commit ab743be

Browse files
committedJan 27, 2025
Generated using ./scripts/tools/zap_regen_all.py
1 parent 0084c2e commit ab743be

31 files changed

+115
-549
lines changed
 

‎src/controller/data_model/controller-clusters.matter

+6-7
Original file line numberDiff line numberDiff line change
@@ -10570,7 +10570,7 @@ provisional cluster TlsClientManagement = 2050 {
1057010570
octet_string hostname = 1;
1057110571
int16u port = 2;
1057210572
int16u caid = 3;
10573-
optional nullable int16u ccdid = 4;
10573+
nullable int16u ccdid = 4;
1057410574
TLSEndpointStatusEnum status = 5;
1057510575
}
1057610576

@@ -10584,8 +10584,7 @@ provisional cluster TlsClientManagement = 2050 {
1058410584

1058510585
readonly attribute int8u maxProvisioned = 0;
1058610586
readonly attribute int8u currentProvisioned = 1;
10587-
readonly attribute int8u maxInUse = 2;
10588-
readonly attribute int8u currentInUse = 3;
10587+
readonly attribute int8u currentInUse = 2;
1058910588
readonly attribute command_id generatedCommandList[] = 65528;
1059010589
readonly attribute command_id acceptedCommandList[] = 65529;
1059110590
readonly attribute event_id eventList[] = 65530;
@@ -10597,16 +10596,16 @@ provisional cluster TlsClientManagement = 2050 {
1059710596
octet_string hostname = 0;
1059810597
int16u port = 1;
1059910598
int16u caid = 2;
10600-
optional nullable int16u ccdid = 3;
10601-
optional nullable int16u endpointID = 4;
10599+
nullable int16u ccdid = 3;
10600+
nullable int16u endpointID = 4;
1060210601
}
1060310602

1060410603
response struct ProvisionEndpointResponse = 1 {
1060510604
int16u endpointID = 0;
1060610605
}
1060710606

1060810607
request struct FindEndpointRequest {
10609-
optional nullable int16u endpointID = 0;
10608+
nullable int16u endpointID = 0;
1061010609
}
1061110610

1061210611
response struct FindEndpointResponse = 3 {
@@ -10619,7 +10618,7 @@ provisional cluster TlsClientManagement = 2050 {
1061910618

1062010619
/** This command SHALL provision a TLS Endpoint for the provided HostName / Port combination. */
1062110620
command access(invoke: administer) ProvisionEndpoint(ProvisionEndpointRequest): ProvisionEndpointResponse = 0;
10622-
/** This command SHALL return the TLS Endpoint details for the passed in EndpointID. */
10621+
/** This command SHALL return the TLS Endpoint details for the passed in EndpointID, or all provisioned endpoints if nu */
1062310622
command FindEndpoint(FindEndpointRequest): FindEndpointResponse = 2;
1062410623
/** This command SHALL be generated to request the Node terminates the TLS Connection. */
1062510624
command access(invoke: administer) RemoveEndpoint(RemoveEndpointRequest): DefaultSuccess = 4;

‎src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java

+8-35
Original file line numberDiff line numberDiff line change
@@ -64933,8 +64933,7 @@ public static class TlsClientManagementCluster extends BaseChipCluster {
6493364933

6493464934
private static final long MAX_PROVISIONED_ATTRIBUTE_ID = 0L;
6493564935
private static final long CURRENT_PROVISIONED_ATTRIBUTE_ID = 1L;
64936-
private static final long MAX_IN_USE_ATTRIBUTE_ID = 2L;
64937-
private static final long CURRENT_IN_USE_ATTRIBUTE_ID = 3L;
64936+
private static final long CURRENT_IN_USE_ATTRIBUTE_ID = 2L;
6493864937
private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L;
6493964938
private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L;
6494064939
private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L;
@@ -64952,11 +64951,11 @@ public long initWithDevice(long devicePtr, int endpointId) {
6495264951
return 0L;
6495364952
}
6495464953

64955-
public void provisionEndpoint(ProvisionEndpointResponseCallback callback, byte[] hostname, Integer port, Integer caid, @Nullable Optional<Integer> ccdid, @Nullable Optional<Integer> endpointID) {
64954+
public void provisionEndpoint(ProvisionEndpointResponseCallback callback, byte[] hostname, Integer port, Integer caid, @Nullable Integer ccdid, @Nullable Integer endpointID) {
6495664955
provisionEndpoint(callback, hostname, port, caid, ccdid, endpointID, 0);
6495764956
}
6495864957

64959-
public void provisionEndpoint(ProvisionEndpointResponseCallback callback, byte[] hostname, Integer port, Integer caid, @Nullable Optional<Integer> ccdid, @Nullable Optional<Integer> endpointID, int timedInvokeTimeoutMs) {
64958+
public void provisionEndpoint(ProvisionEndpointResponseCallback callback, byte[] hostname, Integer port, Integer caid, @Nullable Integer ccdid, @Nullable Integer endpointID, int timedInvokeTimeoutMs) {
6496064959
final long commandId = 0L;
6496164960

6496264961
ArrayList<StructElement> elements = new ArrayList<>();
@@ -64973,11 +64972,11 @@ public void provisionEndpoint(ProvisionEndpointResponseCallback callback, byte[]
6497364972
elements.add(new StructElement(caidFieldID, caidtlvValue));
6497464973

6497564974
final long ccdidFieldID = 3L;
64976-
BaseTLVType ccdidtlvValue = ccdid != null ? ccdid.<BaseTLVType>map((nonOptionalccdid) -> new UIntType(nonOptionalccdid)).orElse(new EmptyType()) : new NullType();
64975+
BaseTLVType ccdidtlvValue = ccdid != null ? new UIntType(ccdid) : new NullType();
6497764976
elements.add(new StructElement(ccdidFieldID, ccdidtlvValue));
6497864977

6497964978
final long endpointIDFieldID = 4L;
64980-
BaseTLVType endpointIDtlvValue = endpointID != null ? endpointID.<BaseTLVType>map((nonOptionalendpointID) -> new UIntType(nonOptionalendpointID)).orElse(new EmptyType()) : new NullType();
64979+
BaseTLVType endpointIDtlvValue = endpointID != null ? new UIntType(endpointID) : new NullType();
6498164980
elements.add(new StructElement(endpointIDFieldID, endpointIDtlvValue));
6498264981

6498364982
StructType commandArgs = new StructType(elements);
@@ -64998,16 +64997,16 @@ public void onResponse(StructType invokeStructValue) {
6499864997
}}, commandId, commandArgs, timedInvokeTimeoutMs);
6499964998
}
6500064999

65001-
public void findEndpoint(FindEndpointResponseCallback callback, @Nullable Optional<Integer> endpointID) {
65000+
public void findEndpoint(FindEndpointResponseCallback callback, @Nullable Integer endpointID) {
6500265001
findEndpoint(callback, endpointID, 0);
6500365002
}
6500465003

65005-
public void findEndpoint(FindEndpointResponseCallback callback, @Nullable Optional<Integer> endpointID, int timedInvokeTimeoutMs) {
65004+
public void findEndpoint(FindEndpointResponseCallback callback, @Nullable Integer endpointID, int timedInvokeTimeoutMs) {
6500665005
final long commandId = 2L;
6500765006

6500865007
ArrayList<StructElement> elements = new ArrayList<>();
6500965008
final long endpointIDFieldID = 0L;
65010-
BaseTLVType endpointIDtlvValue = endpointID != null ? endpointID.<BaseTLVType>map((nonOptionalendpointID) -> new UIntType(nonOptionalendpointID)).orElse(new EmptyType()) : new NullType();
65009+
BaseTLVType endpointIDtlvValue = endpointID != null ? new UIntType(endpointID) : new NullType();
6501165010
elements.add(new StructElement(endpointIDFieldID, endpointIDtlvValue));
6501265011

6501365012
StructType commandArgs = new StructType(elements);
@@ -65124,32 +65123,6 @@ public void onSuccess(byte[] tlv) {
6512465123
}, CURRENT_PROVISIONED_ATTRIBUTE_ID, minInterval, maxInterval);
6512565124
}
6512665125

65127-
public void readMaxInUseAttribute(
65128-
IntegerAttributeCallback callback) {
65129-
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_IN_USE_ATTRIBUTE_ID);
65130-
65131-
readAttribute(new ReportCallbackImpl(callback, path) {
65132-
@Override
65133-
public void onSuccess(byte[] tlv) {
65134-
Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
65135-
callback.onSuccess(value);
65136-
}
65137-
}, MAX_IN_USE_ATTRIBUTE_ID, true);
65138-
}
65139-
65140-
public void subscribeMaxInUseAttribute(
65141-
IntegerAttributeCallback callback, int minInterval, int maxInterval) {
65142-
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_IN_USE_ATTRIBUTE_ID);
65143-
65144-
subscribeAttribute(new ReportCallbackImpl(callback, path) {
65145-
@Override
65146-
public void onSuccess(byte[] tlv) {
65147-
Integer value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
65148-
callback.onSuccess(value);
65149-
}
65150-
}, MAX_IN_USE_ATTRIBUTE_ID, minInterval, maxInterval);
65151-
}
65152-
6515365126
public void readCurrentInUseAttribute(
6515465127
IntegerAttributeCallback callback) {
6515565128
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, CURRENT_IN_USE_ATTRIBUTE_ID);

‎src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -16109,7 +16109,7 @@ public static class TlsClientManagementClusterTLSEndpointStruct {
1610916109
public byte[] hostname;
1611016110
public Integer port;
1611116111
public Integer caid;
16112-
public @Nullable Optional<Integer> ccdid;
16112+
public @Nullable Integer ccdid;
1611316113
public Integer status;
1611416114
private static final long ENDPOINT_ID_ID = 0L;
1611516115
private static final long HOSTNAME_ID = 1L;
@@ -16123,7 +16123,7 @@ public TlsClientManagementClusterTLSEndpointStruct(
1612316123
byte[] hostname,
1612416124
Integer port,
1612516125
Integer caid,
16126-
@Nullable Optional<Integer> ccdid,
16126+
@Nullable Integer ccdid,
1612716127
Integer status
1612816128
) {
1612916129
this.endpointID = endpointID;
@@ -16140,7 +16140,7 @@ public StructType encodeTlv() {
1614016140
values.add(new StructElement(HOSTNAME_ID, new ByteArrayType(hostname)));
1614116141
values.add(new StructElement(PORT_ID, new UIntType(port)));
1614216142
values.add(new StructElement(CAID_ID, new UIntType(caid)));
16143-
values.add(new StructElement(CCDID_ID, ccdid != null ? ccdid.<BaseTLVType>map((nonOptionalccdid) -> new UIntType(nonOptionalccdid)).orElse(new EmptyType()) : new NullType()));
16143+
values.add(new StructElement(CCDID_ID, ccdid != null ? new UIntType(ccdid) : new NullType()));
1614416144
values.add(new StructElement(STATUS_ID, new UIntType(status)));
1614516145

1614616146
return new StructType(values);
@@ -16154,7 +16154,7 @@ public static TlsClientManagementClusterTLSEndpointStruct decodeTlv(BaseTLVType
1615416154
byte[] hostname = null;
1615516155
Integer port = null;
1615616156
Integer caid = null;
16157-
@Nullable Optional<Integer> ccdid = null;
16157+
@Nullable Integer ccdid = null;
1615816158
Integer status = null;
1615916159
for (StructElement element: ((StructType)tlvValue).value()) {
1616016160
if (element.contextTagNum() == ENDPOINT_ID_ID) {
@@ -16180,7 +16180,7 @@ public static TlsClientManagementClusterTLSEndpointStruct decodeTlv(BaseTLVType
1618016180
} else if (element.contextTagNum() == CCDID_ID) {
1618116181
if (element.value(BaseTLVType.class).type() == TLVType.UInt) {
1618216182
UIntType castingValue = element.value(UIntType.class);
16183-
ccdid = Optional.of(castingValue.value(Integer.class));
16183+
ccdid = castingValue.value(Integer.class);
1618416184
}
1618516185
} else if (element.contextTagNum() == STATUS_ID) {
1618616186
if (element.value(BaseTLVType.class).type() == TLVType.UInt) {

‎src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -18815,8 +18815,7 @@ public long getID() {
1881518815
public enum Attribute {
1881618816
MaxProvisioned(0L),
1881718817
CurrentProvisioned(1L),
18818-
MaxInUse(2L),
18819-
CurrentInUse(3L),
18818+
CurrentInUse(2L),
1882018819
GeneratedCommandList(65528L),
1882118820
AcceptedCommandList(65529L),
1882218821
EventList(65530L),

‎src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -31408,10 +31408,10 @@ public Map<String, Map<String, InteractionInfo>> getCommandMap() {
3140831408
CommandParameterInfo tlsClientManagementprovisionEndpointcaidCommandParameterInfo = new CommandParameterInfo("caid", Integer.class, Integer.class);
3140931409
tlsClientManagementprovisionEndpointCommandParams.put("caid",tlsClientManagementprovisionEndpointcaidCommandParameterInfo);
3141031410

31411-
CommandParameterInfo tlsClientManagementprovisionEndpointccdidCommandParameterInfo = new CommandParameterInfo("ccdid", Optional.class, Integer.class);
31411+
CommandParameterInfo tlsClientManagementprovisionEndpointccdidCommandParameterInfo = new CommandParameterInfo("ccdid", Integer.class, Integer.class);
3141231412
tlsClientManagementprovisionEndpointCommandParams.put("ccdid",tlsClientManagementprovisionEndpointccdidCommandParameterInfo);
3141331413

31414-
CommandParameterInfo tlsClientManagementprovisionEndpointendpointIDCommandParameterInfo = new CommandParameterInfo("endpointID", Optional.class, Integer.class);
31414+
CommandParameterInfo tlsClientManagementprovisionEndpointendpointIDCommandParameterInfo = new CommandParameterInfo("endpointID", Integer.class, Integer.class);
3141531415
tlsClientManagementprovisionEndpointCommandParams.put("endpointID",tlsClientManagementprovisionEndpointendpointIDCommandParameterInfo);
3141631416
InteractionInfo tlsClientManagementprovisionEndpointInteractionInfo = new InteractionInfo(
3141731417
(cluster, callback, commandArguments) -> {
@@ -31426,10 +31426,10 @@ public Map<String, Map<String, InteractionInfo>> getCommandMap() {
3142631426
, (Integer)
3142731427
commandArguments.get("caid")
3142831428

31429-
, (Optional<Integer>)
31429+
, (Integer)
3143031430
commandArguments.get("ccdid")
3143131431

31432-
, (Optional<Integer>)
31432+
, (Integer)
3143331433
commandArguments.get("endpointID")
3143431434

3143531435
);
@@ -31441,13 +31441,13 @@ public Map<String, Map<String, InteractionInfo>> getCommandMap() {
3144131441

3144231442
Map<String, CommandParameterInfo> tlsClientManagementfindEndpointCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
3144331443

31444-
CommandParameterInfo tlsClientManagementfindEndpointendpointIDCommandParameterInfo = new CommandParameterInfo("endpointID", Optional.class, Integer.class);
31444+
CommandParameterInfo tlsClientManagementfindEndpointendpointIDCommandParameterInfo = new CommandParameterInfo("endpointID", Integer.class, Integer.class);
3144531445
tlsClientManagementfindEndpointCommandParams.put("endpointID",tlsClientManagementfindEndpointendpointIDCommandParameterInfo);
3144631446
InteractionInfo tlsClientManagementfindEndpointInteractionInfo = new InteractionInfo(
3144731447
(cluster, callback, commandArguments) -> {
3144831448
((ChipClusters.TlsClientManagementCluster) cluster)
3144931449
.findEndpoint((ChipClusters.TlsClientManagementCluster.FindEndpointResponseCallback) callback
31450-
, (Optional<Integer>)
31450+
, (Integer)
3145131451
commandArguments.get("endpointID")
3145231452

3145331453
);

‎src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java

-11
Original file line numberDiff line numberDiff line change
@@ -19597,17 +19597,6 @@ private static Map<String, InteractionInfo> readTlsClientManagementInteractionIn
1959719597
readTlsClientManagementCurrentProvisionedCommandParams
1959819598
);
1959919599
result.put("readCurrentProvisionedAttribute", readTlsClientManagementCurrentProvisionedAttributeInteractionInfo);
19600-
Map<String, CommandParameterInfo> readTlsClientManagementMaxInUseCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
19601-
InteractionInfo readTlsClientManagementMaxInUseAttributeInteractionInfo = new InteractionInfo(
19602-
(cluster, callback, commandArguments) -> {
19603-
((ChipClusters.TlsClientManagementCluster) cluster).readMaxInUseAttribute(
19604-
(ChipClusters.IntegerAttributeCallback) callback
19605-
);
19606-
},
19607-
() -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(),
19608-
readTlsClientManagementMaxInUseCommandParams
19609-
);
19610-
result.put("readMaxInUseAttribute", readTlsClientManagementMaxInUseAttributeInteractionInfo);
1961119600
Map<String, CommandParameterInfo> readTlsClientManagementCurrentInUseCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
1961219601
InteractionInfo readTlsClientManagementCurrentInUseAttributeInteractionInfo = new InteractionInfo(
1961319602
(cluster, callback, commandArguments) -> {

‎src/controller/java/generated/java/chip/devicecontroller/cluster/structs/TlsClientManagementClusterTLSEndpointStruct.kt

+3-11
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package chip.devicecontroller.cluster.structs
1818

1919
import chip.devicecontroller.cluster.*
20-
import java.util.Optional
2120
import matter.tlv.ContextSpecificTag
2221
import matter.tlv.Tag
2322
import matter.tlv.TlvReader
@@ -28,7 +27,7 @@ class TlsClientManagementClusterTLSEndpointStruct(
2827
val hostname: ByteArray,
2928
val port: UInt,
3029
val caid: UInt,
31-
val ccdid: Optional<UInt>?,
30+
val ccdid: UInt?,
3231
val status: UInt,
3332
) {
3433
override fun toString(): String = buildString {
@@ -50,10 +49,7 @@ class TlsClientManagementClusterTLSEndpointStruct(
5049
put(ContextSpecificTag(TAG_PORT), port)
5150
put(ContextSpecificTag(TAG_CAID), caid)
5251
if (ccdid != null) {
53-
if (ccdid.isPresent) {
54-
val optccdid = ccdid.get()
55-
put(ContextSpecificTag(TAG_CCDID), optccdid)
56-
}
52+
put(ContextSpecificTag(TAG_CCDID), ccdid)
5753
} else {
5854
putNull(ContextSpecificTag(TAG_CCDID))
5955
}
@@ -78,11 +74,7 @@ class TlsClientManagementClusterTLSEndpointStruct(
7874
val caid = tlvReader.getUInt(ContextSpecificTag(TAG_CAID))
7975
val ccdid =
8076
if (!tlvReader.isNull()) {
81-
if (tlvReader.isNextTag(ContextSpecificTag(TAG_CCDID))) {
82-
Optional.of(tlvReader.getUInt(ContextSpecificTag(TAG_CCDID)))
83-
} else {
84-
Optional.empty()
85-
}
77+
tlvReader.getUInt(ContextSpecificTag(TAG_CCDID))
8678
} else {
8779
tlvReader.getNull(ContextSpecificTag(TAG_CCDID))
8880
null

‎src/controller/java/generated/java/matter/controller/cluster/clusters/TlsClientManagementCluster.kt

+2-83
Original file line numberDiff line numberDiff line change
@@ -392,89 +392,8 @@ class TlsClientManagementCluster(
392392
}
393393
}
394394

395-
suspend fun readMaxInUseAttribute(): UByte {
396-
val ATTRIBUTE_ID: UInt = 2u
397-
398-
val attributePath =
399-
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
400-
401-
val readRequest = ReadRequest(eventPaths = emptyList(), attributePaths = listOf(attributePath))
402-
403-
val response = controller.read(readRequest)
404-
405-
if (response.successes.isEmpty()) {
406-
logger.log(Level.WARNING, "Read command failed")
407-
throw IllegalStateException("Read command failed with failures: ${response.failures}")
408-
}
409-
410-
logger.log(Level.FINE, "Read command succeeded")
411-
412-
val attributeData =
413-
response.successes.filterIsInstance<ReadData.Attribute>().firstOrNull {
414-
it.path.attributeId == ATTRIBUTE_ID
415-
}
416-
417-
requireNotNull(attributeData) { "Maxinuse attribute not found in response" }
418-
419-
// Decode the TLV data into the appropriate type
420-
val tlvReader = TlvReader(attributeData.data)
421-
val decodedValue: UByte = tlvReader.getUByte(AnonymousTag)
422-
423-
return decodedValue
424-
}
425-
426-
suspend fun subscribeMaxInUseAttribute(
427-
minInterval: Int,
428-
maxInterval: Int,
429-
): Flow<UByteSubscriptionState> {
430-
val ATTRIBUTE_ID: UInt = 2u
431-
val attributePaths =
432-
listOf(
433-
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
434-
)
435-
436-
val subscribeRequest: SubscribeRequest =
437-
SubscribeRequest(
438-
eventPaths = emptyList(),
439-
attributePaths = attributePaths,
440-
minInterval = Duration.ofSeconds(minInterval.toLong()),
441-
maxInterval = Duration.ofSeconds(maxInterval.toLong()),
442-
)
443-
444-
return controller.subscribe(subscribeRequest).transform { subscriptionState ->
445-
when (subscriptionState) {
446-
is SubscriptionState.SubscriptionErrorNotification -> {
447-
emit(
448-
UByteSubscriptionState.Error(
449-
Exception(
450-
"Subscription terminated with error code: ${subscriptionState.terminationCause}"
451-
)
452-
)
453-
)
454-
}
455-
is SubscriptionState.NodeStateUpdate -> {
456-
val attributeData =
457-
subscriptionState.updateState.successes
458-
.filterIsInstance<ReadData.Attribute>()
459-
.firstOrNull { it.path.attributeId == ATTRIBUTE_ID }
460-
461-
requireNotNull(attributeData) { "Maxinuse attribute not found in Node State update" }
462-
463-
// Decode the TLV data into the appropriate type
464-
val tlvReader = TlvReader(attributeData.data)
465-
val decodedValue: UByte = tlvReader.getUByte(AnonymousTag)
466-
467-
emit(UByteSubscriptionState.Success(decodedValue))
468-
}
469-
SubscriptionState.SubscriptionEstablished -> {
470-
emit(UByteSubscriptionState.SubscriptionEstablished)
471-
}
472-
}
473-
}
474-
}
475-
476395
suspend fun readCurrentInUseAttribute(): UByte {
477-
val ATTRIBUTE_ID: UInt = 3u
396+
val ATTRIBUTE_ID: UInt = 2u
478397

479398
val attributePath =
480399
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
@@ -508,7 +427,7 @@ class TlsClientManagementCluster(
508427
minInterval: Int,
509428
maxInterval: Int,
510429
): Flow<UByteSubscriptionState> {
511-
val ATTRIBUTE_ID: UInt = 3u
430+
val ATTRIBUTE_ID: UInt = 2u
512431
val attributePaths =
513432
listOf(
514433
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)

0 commit comments

Comments
 (0)