All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.iot.model.MitigationActionParams Maven / Gradle / Ivy

/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.iot.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* The set of parameters for this mitigation action. You can specify only one type of parameter (in other words, you can * apply only one action for each defined mitigation action). *

*/ @Generated("software.amazon.awssdk:codegen") public final class MitigationActionParams implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField UPDATE_DEVICE_CERTIFICATE_PARAMS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .memberName("updateDeviceCertificateParams") .getter(getter(MitigationActionParams::updateDeviceCertificateParams)) .setter(setter(Builder::updateDeviceCertificateParams)) .constructor(UpdateDeviceCertificateParams::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("updateDeviceCertificateParams") .build()).build(); private static final SdkField UPDATE_CA_CERTIFICATE_PARAMS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("updateCACertificateParams") .getter(getter(MitigationActionParams::updateCACertificateParams)).setter(setter(Builder::updateCACertificateParams)) .constructor(UpdateCACertificateParams::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("updateCACertificateParams").build()) .build(); private static final SdkField ADD_THINGS_TO_THING_GROUP_PARAMS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .memberName("addThingsToThingGroupParams") .getter(getter(MitigationActionParams::addThingsToThingGroupParams)) .setter(setter(Builder::addThingsToThingGroupParams)) .constructor(AddThingsToThingGroupParams::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("addThingsToThingGroupParams") .build()).build(); private static final SdkField REPLACE_DEFAULT_POLICY_VERSION_PARAMS_FIELD = SdkField . builder(MarshallingType.SDK_POJO) .memberName("replaceDefaultPolicyVersionParams") .getter(getter(MitigationActionParams::replaceDefaultPolicyVersionParams)) .setter(setter(Builder::replaceDefaultPolicyVersionParams)) .constructor(ReplaceDefaultPolicyVersionParams::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("replaceDefaultPolicyVersionParams") .build()).build(); private static final SdkField ENABLE_IO_T_LOGGING_PARAMS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("enableIoTLoggingParams") .getter(getter(MitigationActionParams::enableIoTLoggingParams)).setter(setter(Builder::enableIoTLoggingParams)) .constructor(EnableIoTLoggingParams::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("enableIoTLoggingParams").build()) .build(); private static final SdkField PUBLISH_FINDING_TO_SNS_PARAMS_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("publishFindingToSnsParams") .getter(getter(MitigationActionParams::publishFindingToSnsParams)).setter(setter(Builder::publishFindingToSnsParams)) .constructor(PublishFindingToSnsParams::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("publishFindingToSnsParams").build()) .build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList( UPDATE_DEVICE_CERTIFICATE_PARAMS_FIELD, UPDATE_CA_CERTIFICATE_PARAMS_FIELD, ADD_THINGS_TO_THING_GROUP_PARAMS_FIELD, REPLACE_DEFAULT_POLICY_VERSION_PARAMS_FIELD, ENABLE_IO_T_LOGGING_PARAMS_FIELD, PUBLISH_FINDING_TO_SNS_PARAMS_FIELD)); private static final long serialVersionUID = 1L; private final UpdateDeviceCertificateParams updateDeviceCertificateParams; private final UpdateCACertificateParams updateCACertificateParams; private final AddThingsToThingGroupParams addThingsToThingGroupParams; private final ReplaceDefaultPolicyVersionParams replaceDefaultPolicyVersionParams; private final EnableIoTLoggingParams enableIoTLoggingParams; private final PublishFindingToSnsParams publishFindingToSnsParams; private MitigationActionParams(BuilderImpl builder) { this.updateDeviceCertificateParams = builder.updateDeviceCertificateParams; this.updateCACertificateParams = builder.updateCACertificateParams; this.addThingsToThingGroupParams = builder.addThingsToThingGroupParams; this.replaceDefaultPolicyVersionParams = builder.replaceDefaultPolicyVersionParams; this.enableIoTLoggingParams = builder.enableIoTLoggingParams; this.publishFindingToSnsParams = builder.publishFindingToSnsParams; } /** *

* Parameters to define a mitigation action that changes the state of the device certificate to inactive. *

* * @return Parameters to define a mitigation action that changes the state of the device certificate to inactive. */ public final UpdateDeviceCertificateParams updateDeviceCertificateParams() { return updateDeviceCertificateParams; } /** *

* Parameters to define a mitigation action that changes the state of the CA certificate to inactive. *

* * @return Parameters to define a mitigation action that changes the state of the CA certificate to inactive. */ public final UpdateCACertificateParams updateCACertificateParams() { return updateCACertificateParams; } /** *

* Parameters to define a mitigation action that moves devices associated with a certificate to one or more * specified thing groups, typically for quarantine. *

* * @return Parameters to define a mitigation action that moves devices associated with a certificate to one or more * specified thing groups, typically for quarantine. */ public final AddThingsToThingGroupParams addThingsToThingGroupParams() { return addThingsToThingGroupParams; } /** *

* Parameters to define a mitigation action that adds a blank policy to restrict permissions. *

* * @return Parameters to define a mitigation action that adds a blank policy to restrict permissions. */ public final ReplaceDefaultPolicyVersionParams replaceDefaultPolicyVersionParams() { return replaceDefaultPolicyVersionParams; } /** *

* Parameters to define a mitigation action that enables Amazon Web Services IoT Core logging at a specified level * of detail. *

* * @return Parameters to define a mitigation action that enables Amazon Web Services IoT Core logging at a specified * level of detail. */ public final EnableIoTLoggingParams enableIoTLoggingParams() { return enableIoTLoggingParams; } /** *

* Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service (Amazon * SNS. You can implement your own custom actions in response to the Amazon SNS messages. *

* * @return Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service * (Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages. */ public final PublishFindingToSnsParams publishFindingToSnsParams() { return publishFindingToSnsParams; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(updateDeviceCertificateParams()); hashCode = 31 * hashCode + Objects.hashCode(updateCACertificateParams()); hashCode = 31 * hashCode + Objects.hashCode(addThingsToThingGroupParams()); hashCode = 31 * hashCode + Objects.hashCode(replaceDefaultPolicyVersionParams()); hashCode = 31 * hashCode + Objects.hashCode(enableIoTLoggingParams()); hashCode = 31 * hashCode + Objects.hashCode(publishFindingToSnsParams()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof MitigationActionParams)) { return false; } MitigationActionParams other = (MitigationActionParams) obj; return Objects.equals(updateDeviceCertificateParams(), other.updateDeviceCertificateParams()) && Objects.equals(updateCACertificateParams(), other.updateCACertificateParams()) && Objects.equals(addThingsToThingGroupParams(), other.addThingsToThingGroupParams()) && Objects.equals(replaceDefaultPolicyVersionParams(), other.replaceDefaultPolicyVersionParams()) && Objects.equals(enableIoTLoggingParams(), other.enableIoTLoggingParams()) && Objects.equals(publishFindingToSnsParams(), other.publishFindingToSnsParams()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString.builder("MitigationActionParams").add("UpdateDeviceCertificateParams", updateDeviceCertificateParams()) .add("UpdateCACertificateParams", updateCACertificateParams()) .add("AddThingsToThingGroupParams", addThingsToThingGroupParams()) .add("ReplaceDefaultPolicyVersionParams", replaceDefaultPolicyVersionParams()) .add("EnableIoTLoggingParams", enableIoTLoggingParams()) .add("PublishFindingToSnsParams", publishFindingToSnsParams()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "updateDeviceCertificateParams": return Optional.ofNullable(clazz.cast(updateDeviceCertificateParams())); case "updateCACertificateParams": return Optional.ofNullable(clazz.cast(updateCACertificateParams())); case "addThingsToThingGroupParams": return Optional.ofNullable(clazz.cast(addThingsToThingGroupParams())); case "replaceDefaultPolicyVersionParams": return Optional.ofNullable(clazz.cast(replaceDefaultPolicyVersionParams())); case "enableIoTLoggingParams": return Optional.ofNullable(clazz.cast(enableIoTLoggingParams())); case "publishFindingToSnsParams": return Optional.ofNullable(clazz.cast(publishFindingToSnsParams())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((MitigationActionParams) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* Parameters to define a mitigation action that changes the state of the device certificate to inactive. *

* * @param updateDeviceCertificateParams * Parameters to define a mitigation action that changes the state of the device certificate to inactive. * @return Returns a reference to this object so that method calls can be chained together. */ Builder updateDeviceCertificateParams(UpdateDeviceCertificateParams updateDeviceCertificateParams); /** *

* Parameters to define a mitigation action that changes the state of the device certificate to inactive. *

* This is a convenience method that creates an instance of the {@link UpdateDeviceCertificateParams.Builder} * avoiding the need to create one manually via {@link UpdateDeviceCertificateParams#builder()}. * *

* When the {@link Consumer} completes, {@link UpdateDeviceCertificateParams.Builder#build()} is called * immediately and its result is passed to {@link #updateDeviceCertificateParams(UpdateDeviceCertificateParams)}. * * @param updateDeviceCertificateParams * a consumer that will call methods on {@link UpdateDeviceCertificateParams.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #updateDeviceCertificateParams(UpdateDeviceCertificateParams) */ default Builder updateDeviceCertificateParams( Consumer updateDeviceCertificateParams) { return updateDeviceCertificateParams(UpdateDeviceCertificateParams.builder() .applyMutation(updateDeviceCertificateParams).build()); } /** *

* Parameters to define a mitigation action that changes the state of the CA certificate to inactive. *

* * @param updateCACertificateParams * Parameters to define a mitigation action that changes the state of the CA certificate to inactive. * @return Returns a reference to this object so that method calls can be chained together. */ Builder updateCACertificateParams(UpdateCACertificateParams updateCACertificateParams); /** *

* Parameters to define a mitigation action that changes the state of the CA certificate to inactive. *

* This is a convenience method that creates an instance of the {@link UpdateCACertificateParams.Builder} * avoiding the need to create one manually via {@link UpdateCACertificateParams#builder()}. * *

* When the {@link Consumer} completes, {@link UpdateCACertificateParams.Builder#build()} is called immediately * and its result is passed to {@link #updateCACertificateParams(UpdateCACertificateParams)}. * * @param updateCACertificateParams * a consumer that will call methods on {@link UpdateCACertificateParams.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #updateCACertificateParams(UpdateCACertificateParams) */ default Builder updateCACertificateParams(Consumer updateCACertificateParams) { return updateCACertificateParams(UpdateCACertificateParams.builder().applyMutation(updateCACertificateParams).build()); } /** *

* Parameters to define a mitigation action that moves devices associated with a certificate to one or more * specified thing groups, typically for quarantine. *

* * @param addThingsToThingGroupParams * Parameters to define a mitigation action that moves devices associated with a certificate to one or * more specified thing groups, typically for quarantine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder addThingsToThingGroupParams(AddThingsToThingGroupParams addThingsToThingGroupParams); /** *

* Parameters to define a mitigation action that moves devices associated with a certificate to one or more * specified thing groups, typically for quarantine. *

* This is a convenience method that creates an instance of the {@link AddThingsToThingGroupParams.Builder} * avoiding the need to create one manually via {@link AddThingsToThingGroupParams#builder()}. * *

* When the {@link Consumer} completes, {@link AddThingsToThingGroupParams.Builder#build()} is called * immediately and its result is passed to {@link #addThingsToThingGroupParams(AddThingsToThingGroupParams)}. * * @param addThingsToThingGroupParams * a consumer that will call methods on {@link AddThingsToThingGroupParams.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #addThingsToThingGroupParams(AddThingsToThingGroupParams) */ default Builder addThingsToThingGroupParams(Consumer addThingsToThingGroupParams) { return addThingsToThingGroupParams(AddThingsToThingGroupParams.builder().applyMutation(addThingsToThingGroupParams) .build()); } /** *

* Parameters to define a mitigation action that adds a blank policy to restrict permissions. *

* * @param replaceDefaultPolicyVersionParams * Parameters to define a mitigation action that adds a blank policy to restrict permissions. * @return Returns a reference to this object so that method calls can be chained together. */ Builder replaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams replaceDefaultPolicyVersionParams); /** *

* Parameters to define a mitigation action that adds a blank policy to restrict permissions. *

* This is a convenience method that creates an instance of the * {@link ReplaceDefaultPolicyVersionParams.Builder} avoiding the need to create one manually via * {@link ReplaceDefaultPolicyVersionParams#builder()}. * *

* When the {@link Consumer} completes, {@link ReplaceDefaultPolicyVersionParams.Builder#build()} is called * immediately and its result is passed to * {@link #replaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams)}. * * @param replaceDefaultPolicyVersionParams * a consumer that will call methods on {@link ReplaceDefaultPolicyVersionParams.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #replaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams) */ default Builder replaceDefaultPolicyVersionParams( Consumer replaceDefaultPolicyVersionParams) { return replaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams.builder() .applyMutation(replaceDefaultPolicyVersionParams).build()); } /** *

* Parameters to define a mitigation action that enables Amazon Web Services IoT Core logging at a specified * level of detail. *

* * @param enableIoTLoggingParams * Parameters to define a mitigation action that enables Amazon Web Services IoT Core logging at a * specified level of detail. * @return Returns a reference to this object so that method calls can be chained together. */ Builder enableIoTLoggingParams(EnableIoTLoggingParams enableIoTLoggingParams); /** *

* Parameters to define a mitigation action that enables Amazon Web Services IoT Core logging at a specified * level of detail. *

* This is a convenience method that creates an instance of the {@link EnableIoTLoggingParams.Builder} avoiding * the need to create one manually via {@link EnableIoTLoggingParams#builder()}. * *

* When the {@link Consumer} completes, {@link EnableIoTLoggingParams.Builder#build()} is called immediately and * its result is passed to {@link #enableIoTLoggingParams(EnableIoTLoggingParams)}. * * @param enableIoTLoggingParams * a consumer that will call methods on {@link EnableIoTLoggingParams.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #enableIoTLoggingParams(EnableIoTLoggingParams) */ default Builder enableIoTLoggingParams(Consumer enableIoTLoggingParams) { return enableIoTLoggingParams(EnableIoTLoggingParams.builder().applyMutation(enableIoTLoggingParams).build()); } /** *

* Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service * (Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages. *

* * @param publishFindingToSnsParams * Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service * (Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages. * @return Returns a reference to this object so that method calls can be chained together. */ Builder publishFindingToSnsParams(PublishFindingToSnsParams publishFindingToSnsParams); /** *

* Parameters to define a mitigation action that publishes findings to Amazon Simple Notification Service * (Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages. *

* This is a convenience method that creates an instance of the {@link PublishFindingToSnsParams.Builder} * avoiding the need to create one manually via {@link PublishFindingToSnsParams#builder()}. * *

* When the {@link Consumer} completes, {@link PublishFindingToSnsParams.Builder#build()} is called immediately * and its result is passed to {@link #publishFindingToSnsParams(PublishFindingToSnsParams)}. * * @param publishFindingToSnsParams * a consumer that will call methods on {@link PublishFindingToSnsParams.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #publishFindingToSnsParams(PublishFindingToSnsParams) */ default Builder publishFindingToSnsParams(Consumer publishFindingToSnsParams) { return publishFindingToSnsParams(PublishFindingToSnsParams.builder().applyMutation(publishFindingToSnsParams).build()); } } static final class BuilderImpl implements Builder { private UpdateDeviceCertificateParams updateDeviceCertificateParams; private UpdateCACertificateParams updateCACertificateParams; private AddThingsToThingGroupParams addThingsToThingGroupParams; private ReplaceDefaultPolicyVersionParams replaceDefaultPolicyVersionParams; private EnableIoTLoggingParams enableIoTLoggingParams; private PublishFindingToSnsParams publishFindingToSnsParams; private BuilderImpl() { } private BuilderImpl(MitigationActionParams model) { updateDeviceCertificateParams(model.updateDeviceCertificateParams); updateCACertificateParams(model.updateCACertificateParams); addThingsToThingGroupParams(model.addThingsToThingGroupParams); replaceDefaultPolicyVersionParams(model.replaceDefaultPolicyVersionParams); enableIoTLoggingParams(model.enableIoTLoggingParams); publishFindingToSnsParams(model.publishFindingToSnsParams); } public final UpdateDeviceCertificateParams.Builder getUpdateDeviceCertificateParams() { return updateDeviceCertificateParams != null ? updateDeviceCertificateParams.toBuilder() : null; } public final void setUpdateDeviceCertificateParams(UpdateDeviceCertificateParams.BuilderImpl updateDeviceCertificateParams) { this.updateDeviceCertificateParams = updateDeviceCertificateParams != null ? updateDeviceCertificateParams.build() : null; } @Override public final Builder updateDeviceCertificateParams(UpdateDeviceCertificateParams updateDeviceCertificateParams) { this.updateDeviceCertificateParams = updateDeviceCertificateParams; return this; } public final UpdateCACertificateParams.Builder getUpdateCACertificateParams() { return updateCACertificateParams != null ? updateCACertificateParams.toBuilder() : null; } public final void setUpdateCACertificateParams(UpdateCACertificateParams.BuilderImpl updateCACertificateParams) { this.updateCACertificateParams = updateCACertificateParams != null ? updateCACertificateParams.build() : null; } @Override public final Builder updateCACertificateParams(UpdateCACertificateParams updateCACertificateParams) { this.updateCACertificateParams = updateCACertificateParams; return this; } public final AddThingsToThingGroupParams.Builder getAddThingsToThingGroupParams() { return addThingsToThingGroupParams != null ? addThingsToThingGroupParams.toBuilder() : null; } public final void setAddThingsToThingGroupParams(AddThingsToThingGroupParams.BuilderImpl addThingsToThingGroupParams) { this.addThingsToThingGroupParams = addThingsToThingGroupParams != null ? addThingsToThingGroupParams.build() : null; } @Override public final Builder addThingsToThingGroupParams(AddThingsToThingGroupParams addThingsToThingGroupParams) { this.addThingsToThingGroupParams = addThingsToThingGroupParams; return this; } public final ReplaceDefaultPolicyVersionParams.Builder getReplaceDefaultPolicyVersionParams() { return replaceDefaultPolicyVersionParams != null ? replaceDefaultPolicyVersionParams.toBuilder() : null; } public final void setReplaceDefaultPolicyVersionParams( ReplaceDefaultPolicyVersionParams.BuilderImpl replaceDefaultPolicyVersionParams) { this.replaceDefaultPolicyVersionParams = replaceDefaultPolicyVersionParams != null ? replaceDefaultPolicyVersionParams .build() : null; } @Override public final Builder replaceDefaultPolicyVersionParams(ReplaceDefaultPolicyVersionParams replaceDefaultPolicyVersionParams) { this.replaceDefaultPolicyVersionParams = replaceDefaultPolicyVersionParams; return this; } public final EnableIoTLoggingParams.Builder getEnableIoTLoggingParams() { return enableIoTLoggingParams != null ? enableIoTLoggingParams.toBuilder() : null; } public final void setEnableIoTLoggingParams(EnableIoTLoggingParams.BuilderImpl enableIoTLoggingParams) { this.enableIoTLoggingParams = enableIoTLoggingParams != null ? enableIoTLoggingParams.build() : null; } @Override public final Builder enableIoTLoggingParams(EnableIoTLoggingParams enableIoTLoggingParams) { this.enableIoTLoggingParams = enableIoTLoggingParams; return this; } public final PublishFindingToSnsParams.Builder getPublishFindingToSnsParams() { return publishFindingToSnsParams != null ? publishFindingToSnsParams.toBuilder() : null; } public final void setPublishFindingToSnsParams(PublishFindingToSnsParams.BuilderImpl publishFindingToSnsParams) { this.publishFindingToSnsParams = publishFindingToSnsParams != null ? publishFindingToSnsParams.build() : null; } @Override public final Builder publishFindingToSnsParams(PublishFindingToSnsParams publishFindingToSnsParams) { this.publishFindingToSnsParams = publishFindingToSnsParams; return this; } @Override public MitigationActionParams build() { return new MitigationActionParams(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy