You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2023/08/11 18:15:04 UTC

[ranger] 01/01: Merge branch 'master' into RANGER-3923

This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch RANGER-3923
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit bba84d1d74fb65bbe670f45f886928a7df4e2696
Merge: 444475c6a 3d69ff979
Author: Madhan Neethiraj <ma...@apache.org>
AuthorDate: Fri Aug 11 09:46:07 2023 -0700

    Merge branch 'master' into RANGER-3923

 .../plugin/contextenricher/RangerTagForEval.java   |   5 -
 .../apache/ranger/plugin/model/AuditFilter.java    |   5 -
 .../org/apache/ranger/plugin/model/GroupInfo.java  |   5 -
 .../ranger/plugin/model/RangerBaseModelObject.java |   6 -
 .../apache/ranger/plugin/model/RangerMetrics.java  |   6 -
 .../ranger/plugin/model/RangerPluginInfo.java      |   5 -
 .../apache/ranger/plugin/model/RangerPolicy.java   |  22 --
 .../ranger/plugin/model/RangerPolicyDelta.java     |   6 -
 .../org/apache/ranger/plugin/model/RangerRole.java |   7 -
 .../ranger/plugin/model/RangerSecurityZone.java    |   7 -
 .../plugin/model/RangerSecurityZoneHeaderInfo.java |   6 -
 .../apache/ranger/plugin/model/RangerService.java  |   6 -
 .../ranger/plugin/model/RangerServiceDef.java      |  26 ---
 .../plugin/model/RangerServiceHeaderInfo.java      |   6 -
 .../ranger/plugin/model/RangerServiceResource.java |   5 -
 .../ranger/plugin/model/RangerServiceTags.java     |   5 -
 .../org/apache/ranger/plugin/model/RangerTag.java  |   5 -
 .../apache/ranger/plugin/model/RangerTagDef.java   |   8 -
 .../ranger/plugin/model/RangerTagResourceMap.java  |   6 -
 .../plugin/model/RangerValidityRecurrence.java     |  10 -
 .../plugin/model/RangerValiditySchedule.java       |   7 -
 .../ranger/plugin/model/ServiceDeleteResponse.java |   6 -
 .../org/apache/ranger/plugin/model/UserInfo.java   |   5 -
 .../plugin/policyengine/RangerResourceACLs.java    |   9 -
 .../RangerAbstractResourceMatcher.java             | 125 ++++++++---
 .../RangerDefaultResourceMatcher.java              |  76 ++++---
 .../resourcematcher/RangerPathResourceMatcher.java | 239 +++++++++++++++++++--
 .../resourcematcher/RangerResourceMatcher.java     |   3 +
 .../resourcematcher/RangerURLResourceMatcher.java  |  35 ++-
 .../plugin/resourcematcher/ResourceMatcher.java    | 165 ++++++++++++--
 .../plugin/service/ResourceLookupContext.java      |   6 -
 .../ranger/plugin/store/StoredServiceResource.java |   6 -
 .../ranger/plugin/util/GrantRevokeRequest.java     |   6 -
 .../ranger/plugin/util/GrantRevokeRoleRequest.java |   5 -
 .../plugin/util/RangerRequestedResources.java      |   6 -
 .../org/apache/ranger/plugin/util/RangerRoles.java |   5 -
 .../apache/ranger/plugin/util/RangerUserStore.java |   5 -
 .../apache/ranger/plugin/util/ServicePolicies.java |  12 --
 .../org/apache/ranger/plugin/util/ServiceTags.java |   6 -
 .../RangerAbstractResourceMatcherTest.java         |   9 +
 .../RangerDefaultResourceMatcherTest.java          | 132 ++++++++++--
 .../RangerPathResourceMatcherTest.java             |  73 +++++++
 .../RangerURLResourceMatcherTest.java              |  73 +++++++
 .../java/org/apache/ranger/entity/XXDBBase.java    |   2 -
 .../org/apache/ranger/entity/XXRangerKeyStore.java |   2 -
 .../apache/ranger/entity/XXRangerMasterKey.java    |   4 +-
 .../client/json/model/KMSSchedulerResponse.java    |  12 --
 .../client/json/model/YarnSchedulerResponse.java   |  12 --
 .../java/org/apache/ranger/common/view/VEnum.java  |   3 -
 .../apache/ranger/common/view/VEnumElement.java    |   3 -
 .../java/org/apache/ranger/common/view/VList.java  |   2 -
 .../org/apache/ranger/common/view/VTrxLogAttr.java |   3 -
 .../apache/ranger/common/view/ViewBaseBean.java    |   6 +-
 .../org/apache/ranger/entity/XXAccessAudit.java    |   2 -
 .../apache/ranger/entity/XXAccessAuditBase.java    |   2 -
 .../org/apache/ranger/entity/XXAccessAuditV4.java  |   2 -
 .../org/apache/ranger/entity/XXAccessAuditV5.java  |   2 -
 .../org/apache/ranger/entity/XXAccessTypeDef.java  |   4 +-
 .../ranger/entity/XXAccessTypeDefGrants.java       |   4 +-
 .../java/org/apache/ranger/entity/XXAsset.java     |   2 -
 .../java/org/apache/ranger/entity/XXAuditMap.java  |   2 -
 .../org/apache/ranger/entity/XXAuthSession.java    |   2 -
 .../apache/ranger/entity/XXContextEnricherDef.java |   4 +-
 .../apache/ranger/entity/XXCredentialStore.java    |   2 -
 .../java/org/apache/ranger/entity/XXDBBase.java    |   2 -
 .../java/org/apache/ranger/entity/XXDataHist.java  |   4 +-
 .../apache/ranger/entity/XXDataMaskTypeDef.java    |   2 -
 .../java/org/apache/ranger/entity/XXEnumDef.java   |   4 +-
 .../org/apache/ranger/entity/XXEnumElementDef.java |   4 +-
 .../org/apache/ranger/entity/XXGlobalState.java    |   2 -
 .../apache/ranger/entity/XXGlobalStateBase.java    |   2 -
 .../java/org/apache/ranger/entity/XXGroup.java     |   2 -
 .../org/apache/ranger/entity/XXGroupGroup.java     |   2 -
 .../apache/ranger/entity/XXGroupPermission.java    |   5 +-
 .../java/org/apache/ranger/entity/XXGroupUser.java |   2 -
 .../java/org/apache/ranger/entity/XXModuleDef.java |   2 -
 .../java/org/apache/ranger/entity/XXPermMap.java   |   2 -
 .../org/apache/ranger/entity/XXPluginInfo.java     |   2 -
 .../java/org/apache/ranger/entity/XXPolicy.java    |   4 +-
 .../org/apache/ranger/entity/XXPolicyBase.java     |   2 -
 .../apache/ranger/entity/XXPolicyChangeLog.java    |   2 -
 .../apache/ranger/entity/XXPolicyConditionDef.java |   4 +-
 .../apache/ranger/entity/XXPolicyExportAudit.java  |   2 -
 .../org/apache/ranger/entity/XXPolicyItem.java     |   4 +-
 .../apache/ranger/entity/XXPolicyItemAccess.java   |   4 +-
 .../ranger/entity/XXPolicyItemCondition.java       |   4 +-
 .../ranger/entity/XXPolicyItemDataMaskInfo.java    |   2 -
 .../ranger/entity/XXPolicyItemGroupPerm.java       |   4 +-
 .../ranger/entity/XXPolicyItemRowFilterInfo.java   |   2 -
 .../apache/ranger/entity/XXPolicyItemUserPerm.java |   4 +-
 .../org/apache/ranger/entity/XXPolicyLabel.java    |   2 -
 .../org/apache/ranger/entity/XXPolicyLabelMap.java |   2 -
 .../ranger/entity/XXPolicyRefAccessType.java       |   4 +-
 .../apache/ranger/entity/XXPolicyRefCondition.java |   4 +-
 .../ranger/entity/XXPolicyRefDataMaskType.java     |   4 +-
 .../org/apache/ranger/entity/XXPolicyRefGroup.java |   4 +-
 .../apache/ranger/entity/XXPolicyRefResource.java  |   4 +-
 .../org/apache/ranger/entity/XXPolicyRefRole.java  |   2 -
 .../org/apache/ranger/entity/XXPolicyRefUser.java  |   4 +-
 .../org/apache/ranger/entity/XXPolicyResource.java |   4 +-
 .../apache/ranger/entity/XXPolicyResourceMap.java  |   4 +-
 .../ranger/entity/XXPolicyWithAssignedId.java      |   2 -
 .../org/apache/ranger/entity/XXPortalUser.java     |   2 -
 .../org/apache/ranger/entity/XXPortalUserRole.java |   2 -
 .../apache/ranger/entity/XXRMSMappingProvider.java |   2 -
 .../apache/ranger/entity/XXRMSNotification.java    |   4 +-
 .../apache/ranger/entity/XXRMSResourceMapping.java |   2 -
 .../apache/ranger/entity/XXRMSServiceResource.java |   2 -
 .../java/org/apache/ranger/entity/XXResource.java  |   2 -
 .../org/apache/ranger/entity/XXResourceDef.java    |   2 -
 .../main/java/org/apache/ranger/entity/XXRole.java |   2 -
 .../java/org/apache/ranger/entity/XXRoleBase.java  |   2 -
 .../org/apache/ranger/entity/XXRoleRefGroup.java   |   4 +-
 .../org/apache/ranger/entity/XXRoleRefRole.java    |   4 +-
 .../org/apache/ranger/entity/XXRoleRefUser.java    |   4 +-
 .../org/apache/ranger/entity/XXSecurityZone.java   |   2 -
 .../apache/ranger/entity/XXSecurityZoneBase.java   |   2 -
 .../ranger/entity/XXSecurityZoneRefGroup.java      |   4 +-
 .../ranger/entity/XXSecurityZoneRefResource.java   |   4 +-
 .../ranger/entity/XXSecurityZoneRefRole.java       |   4 +-
 .../ranger/entity/XXSecurityZoneRefService.java    |   4 +-
 .../ranger/entity/XXSecurityZoneRefTagService.java |   2 -
 .../ranger/entity/XXSecurityZoneRefUser.java       |   2 -
 .../java/org/apache/ranger/entity/XXService.java   |   4 +-
 .../org/apache/ranger/entity/XXServiceBase.java    |   2 -
 .../apache/ranger/entity/XXServiceConfigDef.java   |   4 +-
 .../apache/ranger/entity/XXServiceConfigMap.java   |   4 +-
 .../org/apache/ranger/entity/XXServiceDef.java     |   2 -
 .../org/apache/ranger/entity/XXServiceDefBase.java |   2 -
 .../ranger/entity/XXServiceDefWithAssignedId.java  |   2 -
 .../apache/ranger/entity/XXServiceResource.java    |   2 -
 .../ranger/entity/XXServiceResourceElement.java    |   2 -
 .../entity/XXServiceResourceElementValue.java      |   2 -
 .../apache/ranger/entity/XXServiceVersionInfo.java |   2 -
 .../ranger/entity/XXServiceWithAssignedId.java     |   2 -
 .../main/java/org/apache/ranger/entity/XXTag.java  |   2 -
 .../org/apache/ranger/entity/XXTagAttribute.java   |   2 -
 .../apache/ranger/entity/XXTagAttributeDef.java    |   2 -
 .../org/apache/ranger/entity/XXTagChangeLog.java   |   2 -
 .../java/org/apache/ranger/entity/XXTagDef.java    |   2 -
 .../org/apache/ranger/entity/XXTagResourceMap.java |   2 -
 .../java/org/apache/ranger/entity/XXTrxLog.java    |   2 -
 .../apache/ranger/entity/XXUgsyncAuditInfo.java    |   2 -
 .../main/java/org/apache/ranger/entity/XXUser.java |   2 -
 .../org/apache/ranger/entity/XXUserPermission.java |   2 -
 .../org/apache/ranger/entity/view/VXXTrxLog.java   |   2 -
 .../org/apache/ranger/rest/ServiceRESTUtil.java    |  57 -----
 .../apache/ranger/view/RangerExportPolicyList.java |   6 -
 .../apache/ranger/view/RangerExportRoleList.java   |   6 -
 .../apache/ranger/view/RangerPluginInfoList.java   |   6 -
 .../org/apache/ranger/view/RangerPolicyList.java   |   6 -
 .../org/apache/ranger/view/RangerRoleList.java     |   6 -
 .../apache/ranger/view/RangerSecurityZoneList.java |   6 -
 .../apache/ranger/view/RangerServiceDefList.java   |   6 -
 .../org/apache/ranger/view/RangerServiceList.java  |   8 +-
 .../java/org/apache/ranger/view/VXAccessAudit.java |   3 -
 .../org/apache/ranger/view/VXAccessAuditList.java  |   6 -
 .../main/java/org/apache/ranger/view/VXAsset.java  |   3 -
 .../java/org/apache/ranger/view/VXAssetList.java   |   6 -
 .../java/org/apache/ranger/view/VXAuditMap.java    |   3 -
 .../org/apache/ranger/view/VXAuditMapList.java     |   6 -
 .../java/org/apache/ranger/view/VXAuditRecord.java |   3 -
 .../org/apache/ranger/view/VXAuditRecordList.java  |   6 -
 .../java/org/apache/ranger/view/VXAuthSession.java |   3 -
 .../org/apache/ranger/view/VXAuthSessionList.java  |   6 -
 .../org/apache/ranger/view/VXCredentialStore.java  |   3 -
 .../apache/ranger/view/VXCredentialStoreList.java  |   6 -
 .../java/org/apache/ranger/view/VXDataObject.java  |   3 -
 .../apache/ranger/view/VXFileSyncSourceInfo.java   |   5 +-
 .../main/java/org/apache/ranger/view/VXGroup.java  |   3 -
 .../java/org/apache/ranger/view/VXGroupGroup.java  |   3 -
 .../org/apache/ranger/view/VXGroupGroupList.java   |   6 -
 .../java/org/apache/ranger/view/VXGroupList.java   |   6 -
 .../org/apache/ranger/view/VXGroupPermission.java  |   4 -
 .../apache/ranger/view/VXGroupPermissionList.java  |   7 -
 .../java/org/apache/ranger/view/VXGroupUser.java   |   3 -
 .../org/apache/ranger/view/VXGroupUserInfo.java    |   5 +-
 .../org/apache/ranger/view/VXGroupUserList.java    |   6 -
 .../main/java/org/apache/ranger/view/VXKmsKey.java |   3 -
 .../java/org/apache/ranger/view/VXKmsKeyList.java  |   6 -
 .../apache/ranger/view/VXLdapSyncSourceInfo.java   |   5 +-
 .../main/java/org/apache/ranger/view/VXLong.java   |   3 -
 .../java/org/apache/ranger/view/VXMessage.java     |   3 -
 .../ranger/view/VXMetricAuditDetailsCount.java     |   5 -
 .../apache/ranger/view/VXMetricPolicyCount.java    |   5 -
 .../view/VXMetricPolicyWithServiceNameCount.java   |   5 -
 .../apache/ranger/view/VXMetricServiceCount.java   |   5 -
 .../ranger/view/VXMetricServiceNameCount.java      |   6 -
 .../apache/ranger/view/VXMetricUserGroupCount.java |   8 +-
 .../java/org/apache/ranger/view/VXModuleDef.java   |   3 -
 .../org/apache/ranger/view/VXModuleDefList.java    |   7 -
 .../org/apache/ranger/view/VXModulePermission.java |   4 -
 .../apache/ranger/view/VXModulePermissionList.java |   7 -
 .../org/apache/ranger/view/VXPasswordChange.java   |   3 -
 .../java/org/apache/ranger/view/VXPermMap.java     |   3 -
 .../java/org/apache/ranger/view/VXPermMapList.java |   6 -
 .../java/org/apache/ranger/view/VXPermObj.java     |   3 -
 .../java/org/apache/ranger/view/VXPermObjList.java |   6 -
 .../main/java/org/apache/ranger/view/VXPolicy.java |   3 -
 .../apache/ranger/view/VXPolicyExportAudit.java    |   3 -
 .../ranger/view/VXPolicyExportAuditList.java       |   6 -
 .../java/org/apache/ranger/view/VXPolicyLabel.java |   3 -
 .../org/apache/ranger/view/VXPolicyLabelList.java  |   6 -
 .../java/org/apache/ranger/view/VXPolicyList.java  |   6 -
 .../java/org/apache/ranger/view/VXPortalUser.java  |   3 -
 .../org/apache/ranger/view/VXPortalUserList.java   |   6 -
 .../java/org/apache/ranger/view/VXRepository.java  |   3 -
 .../org/apache/ranger/view/VXRepositoryList.java   |   6 -
 .../java/org/apache/ranger/view/VXResource.java    |   3 -
 .../org/apache/ranger/view/VXResourceList.java     |   6 -
 .../java/org/apache/ranger/view/VXResponse.java    |   3 -
 .../main/java/org/apache/ranger/view/VXString.java |   3 -
 .../java/org/apache/ranger/view/VXStringList.java  |   6 -
 .../main/java/org/apache/ranger/view/VXTrxLog.java |   3 -
 .../java/org/apache/ranger/view/VXTrxLogList.java  |   5 -
 .../org/apache/ranger/view/VXUgsyncAuditInfo.java  |   4 +-
 .../apache/ranger/view/VXUgsyncAuditInfoList.java  |   5 -
 .../apache/ranger/view/VXUnixSyncSourceInfo.java   |   5 +-
 .../main/java/org/apache/ranger/view/VXUser.java   |   3 -
 .../org/apache/ranger/view/VXUserGroupInfo.java    |   5 +-
 .../java/org/apache/ranger/view/VXUserList.java    |   6 -
 .../org/apache/ranger/view/VXUserPermission.java   |   3 -
 .../apache/ranger/view/VXUserPermissionList.java   |   7 -
 .../react-webapp/src/components/Editable.jsx       |   2 +-
 .../main/webapp/react-webapp/src/utils/XAUtils.js  |  10 +-
 .../src/views/AuditEvent/AdminLogs/PolicyLogs.jsx  |   6 +-
 .../AuditEvent/AdminLogs/PolicyViewDetails.jsx     |   6 +-
 .../views/PolicyListing/PolicyPermissionItem.jsx   |   4 +-
 .../src/views/SecurityZone/ZoneListing.jsx         |   2 +-
 .../react-webapp/src/views/SideBar/SideBarBody.jsx |  22 +-
 .../UserGroupRoleListing/UserGroupRoleListing.jsx  |   2 +-
 .../UserGroupRoleListing/role_details/RoleForm.jsx |   4 +-
 .../role_details/RoleListing.jsx                   |   2 +-
 .../tagsync/source/atlas/AtlasTagSource.java       |   2 +-
 .../model/UsersGroupRoleAssignments.java           |   5 +-
 235 files changed, 898 insertions(+), 1062 deletions(-)

diff --cc agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
index f6a8c7efd,dd64a6767..deaf524b1
--- a/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/util/ServicePolicies.java
@@@ -27,10 -28,7 +27,6 @@@ import java.util.HashMap
  import java.util.List;
  import java.util.Map;
  
- import javax.xml.bind.annotation.XmlAccessType;
- import javax.xml.bind.annotation.XmlAccessorType;
- import javax.xml.bind.annotation.XmlRootElement;
- 
 -import org.apache.commons.collections.MapUtils;
  import org.apache.ranger.authorization.utils.StringUtil;
  import org.apache.ranger.plugin.model.RangerPolicy;
  import org.apache.ranger.plugin.model.RangerPolicyDelta;
@@@ -44,10 -45,9 +40,8 @@@ import org.codehaus.jackson.map.annotat
  @JsonAutoDetect(fieldVisibility=Visibility.ANY)
  @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
  @JsonIgnoreProperties(ignoreUnknown=true)
- @XmlRootElement
- @XmlAccessorType(XmlAccessType.FIELD)
  public class ServicePolicies implements java.io.Serializable {
  	private static final long serialVersionUID = 1L;
 -	private static final Logger LOG = LoggerFactory.getLogger(ServicePolicies.class);
  
  	private String             serviceName;
  	private Long               serviceId;
@@@ -375,142 -354,6 +367,140 @@@
  		}
  	}
  
 +	@JsonAutoDetect(fieldVisibility=Visibility.ANY)
 +	@JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
 +	@JsonIgnoreProperties(ignoreUnknown=true)
- 	@XmlRootElement
- 	@XmlAccessorType(XmlAccessType.FIELD)
 +	public static class GdsPolicies implements java.io.Serializable {
 +		private static final long serialVersionUID = 1L;
 +
 +		private String              serviceName;
 +		private Long                serviceId;
 +		private Long                policyVersion;
 +		private Date                policyUpdateTime;
 +		private List<RangerPolicy>  policies;
 +		private RangerServiceDef    serviceDef;
 +		private String              auditMode = RangerPolicyEngine.AUDIT_DEFAULT;
 +		private Map<String, String> serviceConfig;
 +
 +		/**
 +		 * @return the serviceName
 +		 */
 +		public String getServiceName() {
 +			return serviceName;
 +		}
 +		/**
 +		 * @param serviceName the serviceName to set
 +		 */
 +		public void setServiceName(String serviceName) {
 +			this.serviceName = serviceName;
 +		}
 +		/**
 +		 * @return the serviceId
 +		 */
 +		public Long getServiceId() {
 +			return serviceId;
 +		}
 +		/**
 +		 * @param serviceId the serviceId to set
 +		 */
 +		public void setServiceId(Long serviceId) {
 +			this.serviceId = serviceId;
 +		}
 +		/**
 +		 * @return the policyVersion
 +		 */
 +		public Long getPolicyVersion() {
 +			return policyVersion;
 +		}
 +		/**
 +		 * @param policyVersion the policyVersion to set
 +		 */
 +		public void setPolicyVersion(Long policyVersion) {
 +			this.policyVersion = policyVersion;
 +		}
 +		/**
 +		 * @return the policyUpdateTime
 +		 */
 +		public Date getPolicyUpdateTime() {
 +			return policyUpdateTime;
 +		}
 +		/**
 +		 * @param policyUpdateTime the policyUpdateTime to set
 +		 */
 +		public void setPolicyUpdateTime(Date policyUpdateTime) {
 +			this.policyUpdateTime = policyUpdateTime;
 +		}
 +		/**
 +		 * @return the policies
 +		 */
 +		public List<RangerPolicy> getPolicies() {
 +			return policies;
 +		}
 +		/**
 +		 * @param policies the policies to set
 +		 */
 +		public void setPolicies(List<RangerPolicy> policies) {
 +			this.policies = policies;
 +		}
 +		/**
 +		 * @return the serviceDef
 +		 */
 +		public RangerServiceDef getServiceDef() {
 +			return serviceDef;
 +		}
 +		/**
 +		 * @param serviceDef the serviceDef to set
 +		 */
 +		public void setServiceDef(RangerServiceDef serviceDef) {
 +			this.serviceDef = serviceDef;
 +		}
 +
 +		public String getAuditMode() {
 +			return auditMode;
 +		}
 +
 +		public void setAuditMode(String auditMode) {
 +			this.auditMode = auditMode;
 +		}
 +
 +		public Map<String, String> getServiceConfig() {
 +			return serviceConfig;
 +		}
 +
 +		public void setServiceConfig(Map<String, String> serviceConfig) {
 +			this.serviceConfig = serviceConfig;
 +		}
 +
 +		public void dedupStrings(Map<String, String> strTbl) {
 +			serviceName   = StringUtil.dedupString(serviceName, strTbl);
 +			auditMode     = StringUtil.dedupString(auditMode, strTbl);
 +			serviceConfig = StringUtil.dedupStringsMap(serviceConfig, strTbl);
 +
 +			if (policies != null) {
 +				for (RangerPolicy policy : policies) {
 +					policy.dedupStrings(strTbl);
 +				}
 +			}
 +
 +			if (serviceDef != null) {
 +				serviceDef.dedupStrings(strTbl);
 +			}
 +		}
 +
 +		@Override
 +		public String toString() {
 +			return "serviceName=" + serviceName + ", "
 +					+ "serviceId=" + serviceId + ", "
 +					+ "policyVersion=" + policyVersion + ", "
 +					+ "policyUpdateTime=" + policyUpdateTime + ", "
 +					+ "policies=" + policies + ", "
 +					+ "serviceDef=" + serviceDef + ", "
 +					+ "auditMode=" + auditMode
 +					+ "serviceConfig=" + serviceConfig
 +					;
 +		}
 +	}
 +
  	@JsonAutoDetect(fieldVisibility = Visibility.ANY)
  	@JsonSerialize(include = JsonSerialize.Inclusion.NON_EMPTY)
  	@JsonIgnoreProperties(ignoreUnknown = true)