Enum google_api_proto::google::cloud::bigquery::datapolicies::v1::data_masking_policy::PredefinedExpression
source · #[repr(i32)]pub enum PredefinedExpression {
Unspecified = 0,
Sha256 = 3,
AlwaysNull = 5,
DefaultMaskingValue = 7,
LastFourCharacters = 9,
FirstFourCharacters = 10,
EmailMask = 12,
DateYearMask = 13,
}
Expand description
The available masking rules. Learn more here: https://cloud.google.com/bigquery/docs/column-data-masking-intro#masking_options.
Variants§
Unspecified = 0
Default, unspecified predefined expression. No masking will take place since no expression is specified.
Sha256 = 3
Masking expression to replace data with SHA-256 hash.
AlwaysNull = 5
Masking expression to replace data with NULLs.
DefaultMaskingValue = 7
Masking expression to replace data with their default masking values. The default masking values for each type listed as below:
- STRING: “”
- BYTES: b’’
- INTEGER: 0
- FLOAT: 0.0
- NUMERIC: 0
- BOOLEAN: FALSE
- TIMESTAMP: 1970-01-01 00:00:00 UTC
- DATE: 1970-01-01
- TIME: 00:00:00
- DATETIME: 1970-01-01T00:00:00
- GEOGRAPHY: POINT(0 0)
- BIGNUMERIC: 0
- ARRAY: []
- STRUCT: NOT_APPLICABLE
- JSON: NULL
LastFourCharacters = 9
Masking expression shows the last four characters of text. The masking behavior is as follows:
- If text length > 4 characters: Replace text with XXXXX, append last four characters of original text.
- If text length <= 4 characters: Apply SHA-256 hash.
FirstFourCharacters = 10
Masking expression shows the first four characters of text. The masking behavior is as follows:
- If text length > 4 characters: Replace text with XXXXX, prepend first four characters of original text.
- If text length <= 4 characters: Apply SHA-256 hash.
EmailMask = 12
Masking expression for email addresses. The masking behavior is as follows:
- Syntax-valid email address: Replace username with XXXXX. For example, cloudysanfrancisco@gmail.com becomes XXXXX@gmail.com.
- Syntax-invalid email address: Apply SHA-256 hash.
For more information, see Email mask.
DateYearMask = 13
Masking expression to only show the year of Date
,
DateTime
and TimeStamp
. For example, with the
year 2076:
- DATE : 2076-01-01
- DATETIME : 2076-01-01T00:00:00
- TIMESTAMP : 2076-01-01 00:00:00 UTC
Truncation occurs according to the UTC time zone. To change this, adjust
the default time zone using the time_zone
system variable.
For more information, see the System>
variables reference.
Implementations§
source§impl PredefinedExpression
impl PredefinedExpression
sourcepub fn is_valid(value: i32) -> bool
pub fn is_valid(value: i32) -> bool
Returns true
if value
is a variant of PredefinedExpression
.
sourcepub fn from_i32(value: i32) -> Option<PredefinedExpression>
👎Deprecated: Use the TryFrom<i32> implementation instead
pub fn from_i32(value: i32) -> Option<PredefinedExpression>
Converts an i32
to a PredefinedExpression
, or None
if value
is not a valid variant.
source§impl PredefinedExpression
impl PredefinedExpression
sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
source§impl Clone for PredefinedExpression
impl Clone for PredefinedExpression
source§fn clone(&self) -> PredefinedExpression
fn clone(&self) -> PredefinedExpression
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PredefinedExpression
impl Debug for PredefinedExpression
source§impl Default for PredefinedExpression
impl Default for PredefinedExpression
source§fn default() -> PredefinedExpression
fn default() -> PredefinedExpression
source§impl From<PredefinedExpression> for i32
impl From<PredefinedExpression> for i32
source§fn from(value: PredefinedExpression) -> i32
fn from(value: PredefinedExpression) -> i32
source§impl Hash for PredefinedExpression
impl Hash for PredefinedExpression
source§impl Ord for PredefinedExpression
impl Ord for PredefinedExpression
source§fn cmp(&self, other: &PredefinedExpression) -> Ordering
fn cmp(&self, other: &PredefinedExpression) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for PredefinedExpression
impl PartialEq for PredefinedExpression
source§fn eq(&self, other: &PredefinedExpression) -> bool
fn eq(&self, other: &PredefinedExpression) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for PredefinedExpression
impl PartialOrd for PredefinedExpression
source§fn partial_cmp(&self, other: &PredefinedExpression) -> Option<Ordering>
fn partial_cmp(&self, other: &PredefinedExpression) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl TryFrom<i32> for PredefinedExpression
impl TryFrom<i32> for PredefinedExpression
§type Error = UnknownEnumValue
type Error = UnknownEnumValue
source§fn try_from(value: i32) -> Result<PredefinedExpression, UnknownEnumValue>
fn try_from(value: i32) -> Result<PredefinedExpression, UnknownEnumValue>
impl Copy for PredefinedExpression
impl Eq for PredefinedExpression
impl StructuralPartialEq for PredefinedExpression
Auto Trait Implementations§
impl Freeze for PredefinedExpression
impl RefUnwindSafe for PredefinedExpression
impl Send for PredefinedExpression
impl Sync for PredefinedExpression
impl Unpin for PredefinedExpression
impl UnwindSafe for PredefinedExpression
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request