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 Detail

      • 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

        ValueOrExpression<ReplicationServerCfgDefn.AllowUpdatesPolicy> 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

        void setAllowUpdatesPolicy​(ValueOrExpression<ReplicationServerCfgDefn.AllowUpdatesPolicy> value)
                            throws PropertyException
        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

        ValueOrExpression<ReplicationServerCfgDefn.ChangelogEnabled> getChangelogEnabled()
        Gets the "changelog-enabled" property.

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

        Default value: enabled

        Returns:
        Returns the value of the "changelog-enabled" property.
      • 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

        @MandatoryProperty
        ValueOrExpression<Integer> 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

        ValueOrExpression<Integer> 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.