com.google.api.services.dlp.v2beta1.model.GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig Maven / Gradle / Ivy
/*
* 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