Interface ReplicationServerCfgClient

All Superinterfaces:
ConfigurationClient

public interface ReplicationServerCfgClient extends ConfigurationClient
A client-side interface for reading and modifying Replication Server settings.

Replication Servers publish updates to Directory Servers within a Replication Domain.

  • Method Details

    • definition

      Get the configuration definition associated with this Replication Server.
      Specified by:
      definition in interface ConfigurationClient
      Returns:
      Returns the configuration definition associated with this Replication Server.
    • getAdvertisedListenAddress

      @MandatoryProperty SortedSet<ValueOrExpression<com.forgerock.opendj.util.Host>> getAdvertisedListenAddress()
      Gets the "advertised-listen-address" property.

      The advertised address(es) which clients should use for connecting to this Replication Server.

      Multiple addresses may be provided as separate values for this attribute. The meta-address 0.0.0.0 is not permitted.

      Default value is inherited from another property

      Returns:
      Returns the values of the "advertised-listen-address" property.
    • setAdvertisedListenAddress

      @MandatoryProperty void setAdvertisedListenAddress(Collection<ValueOrExpression<com.forgerock.opendj.util.Host>> values) throws PropertyException
      Sets the "advertised-listen-address" property.

      The advertised address(es) which clients should use for connecting to this Replication Server.

      Multiple addresses may be provided as separate values for this attribute. The meta-address 0.0.0.0 is not permitted.

      Parameters:
      values - The values of the "advertised-listen-address" property.
      Throws:
      PropertyException - If one or more of the new values are invalid.
    • getAllowUpdatesPolicy

      Gets the "allow-updates-policy" property.

      Define how to allow servers to send updates to this replication server

      The replication server will only accept updates from servers allowed by the specified strategy. It will discard updates coming from servers which are not allowed, without processing them nor storing them in its changelog.

      Default value: all

      Returns:
      Returns the value of the "allow-updates-policy" property.
    • setAllowUpdatesPolicy

      Sets the "allow-updates-policy" property.

      Define how to allow servers to send updates to this replication server

      The replication server will only accept updates from servers allowed by the specified strategy. It will discard updates coming from servers which are not allowed, without processing them nor storing them in its changelog.

      Parameters:
      value - The value of the "allow-updates-policy" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getAllowUpdatesServerFingerprints

      SortedSet<ValueOrExpression<String>> getAllowUpdatesServerFingerprints()
      Gets the "allow-updates-server-fingerprints" property.

      Lists the certificate fingerprints of servers allowed to send updates to this replication server.

      This property is only applicable when allow-updates-policy is set to verify-certificate-fingerprint. In that case, this replication server will only process updates coming from servers whose certificates have a fingerprint matching one of the specified values.

      Default value is undefined

      Returns:
      Returns the values of the "allow-updates-server-fingerprints" property.
    • setAllowUpdatesServerFingerprints

      void setAllowUpdatesServerFingerprints(Collection<ValueOrExpression<String>> values) throws PropertyException
      Sets the "allow-updates-server-fingerprints" property.

      Lists the certificate fingerprints of servers allowed to send updates to this replication server.

      This property is only applicable when allow-updates-policy is set to verify-certificate-fingerprint. In that case, this replication server will only process updates coming from servers whose certificates have a fingerprint matching one of the specified values.

      Parameters:
      values - The values of the "allow-updates-server-fingerprints" property.
      Throws:
      PropertyException - If one or more of the new values are invalid.
    • getChangelogEnabled

      Gets the "changelog-enabled" property.

      Specifies whether the "cn=changelog" backend will be available to client applications.

      Default value: enabled-cookie-mode-only

      Returns:
      Returns the value of the "changelog-enabled" property.
    • setChangelogEnabled

      Sets the "changelog-enabled" property.

      Specifies whether the "cn=changelog" backend will be available to client applications.

      Parameters:
      value - The value of the "changelog-enabled" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getChangelogEnabledExcludedDomains

      SortedSet<ValueOrExpression<Dn>> getChangelogEnabledExcludedDomains()
      Gets the "changelog-enabled-excluded-domains" property.

      Specifies the base DNs of domains to exclude from the change number indexing when changelog is enabled.

      Returns:
      Returns the values of the "changelog-enabled-excluded-domains" property.
    • setChangelogEnabledExcludedDomains

      void setChangelogEnabledExcludedDomains(Collection<ValueOrExpression<Dn>> values) throws PropertyException
      Sets the "changelog-enabled-excluded-domains" property.

      Specifies the base DNs of domains to exclude from the change number indexing when changelog is enabled.

      Parameters:
      values - The values of the "changelog-enabled-excluded-domains" property.
      Throws:
      PropertyException - If one or more of the new values are invalid.
    • getCipherKeyLength

      ValueOrExpression<Integer> getCipherKeyLength()
      Gets the "cipher-key-length" property.

      Specifies the key length in bits for the preferred cipher.

      Default value: 128

      Returns:
      Returns the value of the "cipher-key-length" property.
    • setCipherKeyLength

      void setCipherKeyLength(ValueOrExpression<Integer> value) throws PropertyException
      Sets the "cipher-key-length" property.

      Specifies the key length in bits for the preferred cipher.

      Parameters:
      value - The value of the "cipher-key-length" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getCipherTransformation

      ValueOrExpression<String> getCipherTransformation()
      Gets the "cipher-transformation" property.

      Specifies the cipher for the directory server using the syntax algorithm/mode/padding.

      The full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms do not have a mode or padding, hence the fields must be specified using NONE as mode and NoPadding as padding. For example, ChaCha20/NONE/NoPadding.

      Default value: AES/GCM/NoPadding

      Returns:
      Returns the value of the "cipher-transformation" property.
    • setCipherTransformation

      void setCipherTransformation(ValueOrExpression<String> value) throws PropertyException
      Sets the "cipher-transformation" property.

      Specifies the cipher for the directory server using the syntax algorithm/mode/padding.

      The full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms do not have a mode or padding, hence the fields must be specified using NONE as mode and NoPadding as padding. For example, ChaCha20/NONE/NoPadding.

      Parameters:
      value - The value of the "cipher-transformation" property.
      Throws:
      PropertyException - If the new value is invalid.
    • isConfidentialityEnabled

      ValueOrExpression<Boolean> isConfidentialityEnabled()
      Gets the "confidentiality-enabled" property.

      Indicates whether the replication change-log should make records readable only by Directory Server. Throughput and disk space are affected by the more expensive operations taking place.

      Confidentiality is achieved by encrypting records on all domains managed by this replication server. Encrypting the records prevents unauthorized parties from accessing contents of LDAP operations. For complete protection, consider enabling secure communications between servers. Change number indexing is not affected by the setting.

      Default value: false

      Returns:
      Returns the value of the "confidentiality-enabled" property.
    • setConfidentialityEnabled

      void setConfidentialityEnabled(ValueOrExpression<Boolean> value) throws PropertyException
      Sets the "confidentiality-enabled" property.

      Indicates whether the replication change-log should make records readable only by Directory Server. Throughput and disk space are affected by the more expensive operations taking place.

      Confidentiality is achieved by encrypting records on all domains managed by this replication server. Encrypting the records prevents unauthorized parties from accessing contents of LDAP operations. For complete protection, consider enabling secure communications between servers. Change number indexing is not affected by the setting.

      Parameters:
      value - The value of the "confidentiality-enabled" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getDiskFullThreshold

      ValueOrExpression<Long> getDiskFullThreshold()
      Gets the "disk-full-threshold" property.

      The free disk space threshold at which point a warning alert notification will be triggered and the replication server will disconnect from the rest of the replication topology.

      When the available free space on the disk used by the replication changelog falls below the value specified, this replication server will stop. Connected Directory Servers will fail over to another RS. The replication server will restart again as soon as free space rises above the low threshold.

      Returns:
      Returns the value of the "disk-full-threshold" property.
    • setDiskFullThreshold

      void setDiskFullThreshold(ValueOrExpression<Long> value) throws PropertyException
      Sets the "disk-full-threshold" property.

      The free disk space threshold at which point a warning alert notification will be triggered and the replication server will disconnect from the rest of the replication topology.

      When the available free space on the disk used by the replication changelog falls below the value specified, this replication server will stop. Connected Directory Servers will fail over to another RS. The replication server will restart again as soon as free space rises above the low threshold.

      Parameters:
      value - The value of the "disk-full-threshold" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getDiskLowThreshold

      ValueOrExpression<Long> getDiskLowThreshold()
      Gets the "disk-low-threshold" property.

      The free disk space threshold at which point a warning alert notification will be triggered.

      When the available free space on the disk used by the replication changelog falls below the value specified, a warning is sent and logged. Normal operation will continue but administrators are advised to take action to free some disk space.

      Returns:
      Returns the value of the "disk-low-threshold" property.
    • setDiskLowThreshold

      void setDiskLowThreshold(ValueOrExpression<Long> value) throws PropertyException
      Sets the "disk-low-threshold" property.

      The free disk space threshold at which point a warning alert notification will be triggered.

      When the available free space on the disk used by the replication changelog falls below the value specified, a warning is sent and logged. Normal operation will continue but administrators are advised to take action to free some disk space.

      Parameters:
      value - The value of the "disk-low-threshold" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getListenAddress

      SortedSet<ValueOrExpression<com.forgerock.opendj.util.Host>> getListenAddress()
      Gets the "listen-address" property.

      The network interface(s) on which this Replication Server should listen for incoming client connections.

      Multiple addresses may be provided as separate values for this attribute. If no values are provided, then the directory server will listen on all interfaces.

      Default value is inherited from another property

      Returns:
      Returns the values of the "listen-address" property.
    • setListenAddress

      void setListenAddress(Collection<ValueOrExpression<com.forgerock.opendj.util.Host>> values) throws PropertyException
      Sets the "listen-address" property.

      The network interface(s) on which this Replication Server should listen for incoming client connections.

      Multiple addresses may be provided as separate values for this attribute. If no values are provided, then the directory server will listen on all interfaces.

      Parameters:
      values - The values of the "listen-address" property.
      Throws:
      PropertyException - If one or more of the new values are invalid.
    • getReplicationDbDirectory

      @MandatoryProperty ValueOrExpression<String> getReplicationDbDirectory()
      Gets the "replication-db-directory" property.

      The path where the Replication Server stores all persistent information.

      Default value: changelogDb

      Returns:
      Returns the value of the "replication-db-directory" property.
    • setReplicationDbDirectory

      @MandatoryProperty void setReplicationDbDirectory(ValueOrExpression<String> value) throws PropertyException, PropertyException
      Sets the "replication-db-directory" property.

      The path where the Replication Server stores all persistent information.

      This property is read-only and can only be modified during creation of a Replication Server.

      Parameters:
      value - The value of the "replication-db-directory" property.
      Throws:
      PropertyException - If the new value is invalid.
      PropertyException - If this Replication Server is not being initialized.
    • getReplicationPort

      Gets the "replication-port" property.

      The port on which this Replication Server waits for connections from other Replication Servers or Directory Servers.

      Returns:
      Returns the value of the "replication-port" property.
    • setReplicationPort

      @MandatoryProperty void setReplicationPort(ValueOrExpression<Integer> value) throws PropertyException
      Sets the "replication-port" property.

      The port on which this Replication Server waits for connections from other Replication Servers or Directory Servers.

      Parameters:
      value - The value of the "replication-port" property.
      Throws:
      PropertyException - If the new value is invalid.
    • getWeight

      Gets the "weight" property.

      The weight of the replication server.

      The weight affected to the replication server. Each replication server of the topology has a weight. When combined together, the weights of the replication servers of a same group can be translated to a percentage that determines the quantity of directory servers of the topology that should be connected to a replication server. For instance imagine a topology with 3 replication servers (with the same group id) with the following weights: RS1=1, RS2=1, RS3=2. This means that RS1 should have 25% of the directory servers connected in the topology, RS2 25%, and RS3 50%. This may be useful if the replication servers of the topology have a different power and one wants to spread the load between the replication servers according to their power.

      Default value: 1

      Returns:
      Returns the value of the "weight" property.
    • setWeight

      void setWeight(ValueOrExpression<Integer> value) throws PropertyException
      Sets the "weight" property.

      The weight of the replication server.

      The weight affected to the replication server. Each replication server of the topology has a weight. When combined together, the weights of the replication servers of a same group can be translated to a percentage that determines the quantity of directory servers of the topology that should be connected to a replication server. For instance imagine a topology with 3 replication servers (with the same group id) with the following weights: RS1=1, RS2=1, RS3=2. This means that RS1 should have 25% of the directory servers connected in the topology, RS2 25%, and RS3 50%. This may be useful if the replication servers of the topology have a different power and one wants to spread the load between the replication servers according to their power.

      Parameters:
      value - The value of the "weight" property.
      Throws:
      PropertyException - If the new value is invalid.