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

com.google.api.services.dlp.v2beta1.model.GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig Maven / Gradle / Ivy

There is a newer version: v2-rev20241215-2.0.0
Show newest version
/*
 * Copyright 2010 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * 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.
 */
/*
 * This code was generated by https://github.com/google/apis-client-generator/
 * (build: 2017-11-07 19:12:12 UTC)
 * on 2018-01-18 at 22:50:57 UTC 
 * Modify at your own risk.
 */

package com.google.api.services.dlp.v2beta1.model;

/**
 * Replaces an identifier with a surrogate using FPE with the FFX mode of operation. The identifier
 * must be representable by the US-ASCII character set. For a given crypto key and context, the same
 * identifier will be replaced with the same surrogate. Identifiers must be at least two characters
 * long. In the case that the identifier is the empty string, it will be skipped.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the DLP API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig extends com.google.api.client.json.GenericJson { /** * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String commonAlphabet; /** * A context may be used for higher security since the same identifier in two different contexts * likely will be given a distinct surrogate. The principle is that the likeliness is inversely * related to the ratio of the number of distinct identifiers per context over the number of * possible surrogates: As long as this ratio is small, the likehood is large. * * If the context is not set, a default tweak will be used. If the context is set but: * * 1. there is no record present when transforming a given value or 1. the field is not present * when transforming a given value, * * a default tweak will be used. * * Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured * and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer * or string. * * The tweak is constructed as a sequence of bytes in big endian byte order such that: * * - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in * UTF-8 format followed by a single byte of value 2 * * This is also known as the 'tweak', as in tweakable encryption. * The value may be {@code null}. */ @com.google.api.client.util.Key private GooglePrivacyDlpV2beta1FieldId context; /** * The key used by the encryption algorithm. [required] * The value may be {@code null}. */ @com.google.api.client.util.Key private GooglePrivacyDlpV2beta1CryptoKey cryptoKey; /** * This is supported by mapping these to the alphanumeric characters that the FFX mode natively * supports. This happens before/after encryption/decryption. Each character listed must appear * only once. Number of characters must be in the range [2, 62]. This must be encoded as ASCII. * The order of characters does not matter. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String customAlphabet; /** * The native way to select the alphabet. Must be in the range [2, 62]. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer radix; /** * The custom info type to annotate the surrogate with. This annotation will be applied to the * surrogate by prefixing it with the name of the custom info type followed by the number of * characters comprising the surrogate. The following scheme defines the format: * info_type_name(surrogate_character_count):surrogate * * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is * 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' * * This annotation identifies the surrogate when inspecting content using the custom info type * [`SurrogateType`](/dlp/docs/reference/rest/v2beta1/InspectConfig#surrogatetype). This * facilitates reversal of the surrogate when it occurs in free text. * * In order for inspection to work properly, the name of this info type must not occur naturally * anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to * an actual identifier. Therefore, choose your custom info type name carefully after considering * what your data looks like. One way to select a name that has a high chance of yielding reliable * detection is to include one or more unicode characters that are highly improbable to exist in * your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol * with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE * The value may be {@code null}. */ @com.google.api.client.util.Key private GooglePrivacyDlpV2beta1InfoType surrogateInfoType; /** * @return value or {@code null} for none */ public java.lang.String getCommonAlphabet() { return commonAlphabet; } /** * @param commonAlphabet commonAlphabet or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig setCommonAlphabet(java.lang.String commonAlphabet) { this.commonAlphabet = commonAlphabet; return this; } /** * A context may be used for higher security since the same identifier in two different contexts * likely will be given a distinct surrogate. The principle is that the likeliness is inversely * related to the ratio of the number of distinct identifiers per context over the number of * possible surrogates: As long as this ratio is small, the likehood is large. * * If the context is not set, a default tweak will be used. If the context is set but: * * 1. there is no record present when transforming a given value or 1. the field is not present * when transforming a given value, * * a default tweak will be used. * * Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured * and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer * or string. * * The tweak is constructed as a sequence of bytes in big endian byte order such that: * * - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in * UTF-8 format followed by a single byte of value 2 * * This is also known as the 'tweak', as in tweakable encryption. * @return value or {@code null} for none */ public GooglePrivacyDlpV2beta1FieldId getContext() { return context; } /** * A context may be used for higher security since the same identifier in two different contexts * likely will be given a distinct surrogate. The principle is that the likeliness is inversely * related to the ratio of the number of distinct identifiers per context over the number of * possible surrogates: As long as this ratio is small, the likehood is large. * * If the context is not set, a default tweak will be used. If the context is set but: * * 1. there is no record present when transforming a given value or 1. the field is not present * when transforming a given value, * * a default tweak will be used. * * Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured * and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer * or string. * * The tweak is constructed as a sequence of bytes in big endian byte order such that: * * - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in * UTF-8 format followed by a single byte of value 2 * * This is also known as the 'tweak', as in tweakable encryption. * @param context context or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig setContext(GooglePrivacyDlpV2beta1FieldId context) { this.context = context; return this; } /** * The key used by the encryption algorithm. [required] * @return value or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoKey getCryptoKey() { return cryptoKey; } /** * The key used by the encryption algorithm. [required] * @param cryptoKey cryptoKey or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig setCryptoKey(GooglePrivacyDlpV2beta1CryptoKey cryptoKey) { this.cryptoKey = cryptoKey; return this; } /** * This is supported by mapping these to the alphanumeric characters that the FFX mode natively * supports. This happens before/after encryption/decryption. Each character listed must appear * only once. Number of characters must be in the range [2, 62]. This must be encoded as ASCII. * The order of characters does not matter. * @return value or {@code null} for none */ public java.lang.String getCustomAlphabet() { return customAlphabet; } /** * This is supported by mapping these to the alphanumeric characters that the FFX mode natively * supports. This happens before/after encryption/decryption. Each character listed must appear * only once. Number of characters must be in the range [2, 62]. This must be encoded as ASCII. * The order of characters does not matter. * @param customAlphabet customAlphabet or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig setCustomAlphabet(java.lang.String customAlphabet) { this.customAlphabet = customAlphabet; return this; } /** * The native way to select the alphabet. Must be in the range [2, 62]. * @return value or {@code null} for none */ public java.lang.Integer getRadix() { return radix; } /** * The native way to select the alphabet. Must be in the range [2, 62]. * @param radix radix or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig setRadix(java.lang.Integer radix) { this.radix = radix; return this; } /** * The custom info type to annotate the surrogate with. This annotation will be applied to the * surrogate by prefixing it with the name of the custom info type followed by the number of * characters comprising the surrogate. The following scheme defines the format: * info_type_name(surrogate_character_count):surrogate * * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is * 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' * * This annotation identifies the surrogate when inspecting content using the custom info type * [`SurrogateType`](/dlp/docs/reference/rest/v2beta1/InspectConfig#surrogatetype). This * facilitates reversal of the surrogate when it occurs in free text. * * In order for inspection to work properly, the name of this info type must not occur naturally * anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to * an actual identifier. Therefore, choose your custom info type name carefully after considering * what your data looks like. One way to select a name that has a high chance of yielding reliable * detection is to include one or more unicode characters that are highly improbable to exist in * your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol * with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE * @return value or {@code null} for none */ public GooglePrivacyDlpV2beta1InfoType getSurrogateInfoType() { return surrogateInfoType; } /** * The custom info type to annotate the surrogate with. This annotation will be applied to the * surrogate by prefixing it with the name of the custom info type followed by the number of * characters comprising the surrogate. The following scheme defines the format: * info_type_name(surrogate_character_count):surrogate * * For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and the surrogate is * 'abc', the full replacement value will be: 'MY_TOKEN_INFO_TYPE(3):abc' * * This annotation identifies the surrogate when inspecting content using the custom info type * [`SurrogateType`](/dlp/docs/reference/rest/v2beta1/InspectConfig#surrogatetype). This * facilitates reversal of the surrogate when it occurs in free text. * * In order for inspection to work properly, the name of this info type must not occur naturally * anywhere in your data; otherwise, inspection may find a surrogate that does not correspond to * an actual identifier. Therefore, choose your custom info type name carefully after considering * what your data looks like. One way to select a name that has a high chance of yielding reliable * detection is to include one or more unicode characters that are highly improbable to exist in * your data. For example, assuming your data is entered from a regular ASCII keyboard, the symbol * with the hex code point 29DD might be used like so: ⧝MY_TOKEN_TYPE * @param surrogateInfoType surrogateInfoType or {@code null} for none */ public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig setSurrogateInfoType(GooglePrivacyDlpV2beta1InfoType surrogateInfoType) { this.surrogateInfoType = surrogateInfoType; return this; } @Override public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig set(String fieldName, Object value) { return (GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig) super.set(fieldName, value); } @Override public GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig clone() { return (GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy