in aws-sso-instanceaccesscontrolattributeconfiguration/src/main/java/software/amazon/sso/instanceaccesscontrolattributeconfiguration/Translator.java [168:200]
static boolean accessControlAttributeConfigsIsEquals(ResourceModel cfnModel, ResourceModel ssoModel){
List<AccessControlAttribute> attributes;
List<AccessControlAttribute> expectedAttributes = ssoModel.getAccessControlAttributes();
if(cfnModel.getInstanceAccessControlAttributeConfiguration() == null && CollectionUtils.isNullOrEmpty(cfnModel.getAccessControlAttributes())) {
attributes = new ArrayList<>();
} else if (cfnModel.getInstanceAccessControlAttributeConfiguration() == null) {
attributes = cfnModel.getAccessControlAttributes();
} else {
attributes = cfnModel.getInstanceAccessControlAttributeConfiguration().getAccessControlAttributes();
}
ImmutableMap<String, Set<String>> actualValues = ImmutableMap.<String, Set<String>>builder()
.putAll(attributes
.stream()
.collect(Collectors.toMap(
accessControlAttribute -> accessControlAttribute.getKey(),
accessControlAttribute -> accessControlAttribute.getValue().getSource().stream().collect(Collectors.toSet())
)))
.build();
ImmutableMap<String, Set<String> > valuesFromRResponse = ImmutableMap.<String, Set<String>>builder()
.putAll(expectedAttributes
.stream()
.collect(Collectors.toMap(
accessControlAttribute -> accessControlAttribute.getKey(),
accessControlAttribute -> accessControlAttribute.getValue().getSource().stream().collect(Collectors.toSet())
)))
.build();
return actualValues.equals(valuesFromRResponse);
}