blob: d7a7c0c9e2ffaded5a1e26df4775ee2a3ba90302 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/privacy/dlp/v2/dlp.proto
package dlp // import "google.golang.org/genproto/googleapis/privacy/dlp/v2"
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import duration "github.com/golang/protobuf/ptypes/duration"
import empty "github.com/golang/protobuf/ptypes/empty"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import _ "google.golang.org/genproto/googleapis/api/annotations"
import status "google.golang.org/genproto/googleapis/rpc/status"
import date "google.golang.org/genproto/googleapis/type/date"
import dayofweek "google.golang.org/genproto/googleapis/type/dayofweek"
import timeofday "google.golang.org/genproto/googleapis/type/timeofday"
import field_mask "google.golang.org/genproto/protobuf/field_mask"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// Options describing which parts of the provided content should be scanned.
type ContentOption int32
const (
// Includes entire content of a file or a data stream.
ContentOption_CONTENT_UNSPECIFIED ContentOption = 0
// Text content within the data, excluding any metadata.
ContentOption_CONTENT_TEXT ContentOption = 1
// Images found in the data.
ContentOption_CONTENT_IMAGE ContentOption = 2
)
var ContentOption_name = map[int32]string{
0: "CONTENT_UNSPECIFIED",
1: "CONTENT_TEXT",
2: "CONTENT_IMAGE",
}
var ContentOption_value = map[string]int32{
"CONTENT_UNSPECIFIED": 0,
"CONTENT_TEXT": 1,
"CONTENT_IMAGE": 2,
}
func (x ContentOption) String() string {
return proto.EnumName(ContentOption_name, int32(x))
}
func (ContentOption) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{0}
}
// Parts of the APIs which use certain infoTypes.
type InfoTypeSupportedBy int32
const (
InfoTypeSupportedBy_ENUM_TYPE_UNSPECIFIED InfoTypeSupportedBy = 0
// Supported by the inspect operations.
InfoTypeSupportedBy_INSPECT InfoTypeSupportedBy = 1
// Supported by the risk analysis operations.
InfoTypeSupportedBy_RISK_ANALYSIS InfoTypeSupportedBy = 2
)
var InfoTypeSupportedBy_name = map[int32]string{
0: "ENUM_TYPE_UNSPECIFIED",
1: "INSPECT",
2: "RISK_ANALYSIS",
}
var InfoTypeSupportedBy_value = map[string]int32{
"ENUM_TYPE_UNSPECIFIED": 0,
"INSPECT": 1,
"RISK_ANALYSIS": 2,
}
func (x InfoTypeSupportedBy) String() string {
return proto.EnumName(InfoTypeSupportedBy_name, int32(x))
}
func (InfoTypeSupportedBy) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{1}
}
// Operators available for comparing the value of fields.
type RelationalOperator int32
const (
RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED RelationalOperator = 0
// Equal.
RelationalOperator_EQUAL_TO RelationalOperator = 1
// Not equal to.
RelationalOperator_NOT_EQUAL_TO RelationalOperator = 2
// Greater than.
RelationalOperator_GREATER_THAN RelationalOperator = 3
// Less than.
RelationalOperator_LESS_THAN RelationalOperator = 4
// Greater than or equals.
RelationalOperator_GREATER_THAN_OR_EQUALS RelationalOperator = 5
// Less than or equals.
RelationalOperator_LESS_THAN_OR_EQUALS RelationalOperator = 6
// Exists
RelationalOperator_EXISTS RelationalOperator = 7
)
var RelationalOperator_name = map[int32]string{
0: "RELATIONAL_OPERATOR_UNSPECIFIED",
1: "EQUAL_TO",
2: "NOT_EQUAL_TO",
3: "GREATER_THAN",
4: "LESS_THAN",
5: "GREATER_THAN_OR_EQUALS",
6: "LESS_THAN_OR_EQUALS",
7: "EXISTS",
}
var RelationalOperator_value = map[string]int32{
"RELATIONAL_OPERATOR_UNSPECIFIED": 0,
"EQUAL_TO": 1,
"NOT_EQUAL_TO": 2,
"GREATER_THAN": 3,
"LESS_THAN": 4,
"GREATER_THAN_OR_EQUALS": 5,
"LESS_THAN_OR_EQUALS": 6,
"EXISTS": 7,
}
func (x RelationalOperator) String() string {
return proto.EnumName(RelationalOperator_name, int32(x))
}
func (RelationalOperator) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{2}
}
// An enum to represent the various type of DLP jobs.
type DlpJobType int32
const (
DlpJobType_DLP_JOB_TYPE_UNSPECIFIED DlpJobType = 0
// The job inspected Google Cloud for sensitive data.
DlpJobType_INSPECT_JOB DlpJobType = 1
// The job executed a Risk Analysis computation.
DlpJobType_RISK_ANALYSIS_JOB DlpJobType = 2
)
var DlpJobType_name = map[int32]string{
0: "DLP_JOB_TYPE_UNSPECIFIED",
1: "INSPECT_JOB",
2: "RISK_ANALYSIS_JOB",
}
var DlpJobType_value = map[string]int32{
"DLP_JOB_TYPE_UNSPECIFIED": 0,
"INSPECT_JOB": 1,
"RISK_ANALYSIS_JOB": 2,
}
func (x DlpJobType) String() string {
return proto.EnumName(DlpJobType_name, int32(x))
}
func (DlpJobType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{3}
}
// State of a StoredInfoType version.
type StoredInfoTypeState int32
const (
StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED StoredInfoTypeState = 0
// StoredInfoType version is being created.
StoredInfoTypeState_PENDING StoredInfoTypeState = 1
// StoredInfoType version is ready for use.
StoredInfoTypeState_READY StoredInfoTypeState = 2
// StoredInfoType creation failed. All relevant error messages are returned in
// the `StoredInfoTypeVersion` message.
StoredInfoTypeState_FAILED StoredInfoTypeState = 3
// StoredInfoType is no longer valid because artifacts stored in
// user-controlled storage were modified. To fix an invalid StoredInfoType,
// use the `UpdateStoredInfoType` method to create a new version.
StoredInfoTypeState_INVALID StoredInfoTypeState = 4
)
var StoredInfoTypeState_name = map[int32]string{
0: "STORED_INFO_TYPE_STATE_UNSPECIFIED",
1: "PENDING",
2: "READY",
3: "FAILED",
4: "INVALID",
}
var StoredInfoTypeState_value = map[string]int32{
"STORED_INFO_TYPE_STATE_UNSPECIFIED": 0,
"PENDING": 1,
"READY": 2,
"FAILED": 3,
"INVALID": 4,
}
func (x StoredInfoTypeState) String() string {
return proto.EnumName(StoredInfoTypeState_name, int32(x))
}
func (StoredInfoTypeState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{4}
}
type ByteContentItem_BytesType int32
const (
ByteContentItem_BYTES_TYPE_UNSPECIFIED ByteContentItem_BytesType = 0
ByteContentItem_IMAGE ByteContentItem_BytesType = 6
ByteContentItem_IMAGE_JPEG ByteContentItem_BytesType = 1
ByteContentItem_IMAGE_BMP ByteContentItem_BytesType = 2
ByteContentItem_IMAGE_PNG ByteContentItem_BytesType = 3
ByteContentItem_IMAGE_SVG ByteContentItem_BytesType = 4
ByteContentItem_TEXT_UTF8 ByteContentItem_BytesType = 5
)
var ByteContentItem_BytesType_name = map[int32]string{
0: "BYTES_TYPE_UNSPECIFIED",
6: "IMAGE",
1: "IMAGE_JPEG",
2: "IMAGE_BMP",
3: "IMAGE_PNG",
4: "IMAGE_SVG",
5: "TEXT_UTF8",
}
var ByteContentItem_BytesType_value = map[string]int32{
"BYTES_TYPE_UNSPECIFIED": 0,
"IMAGE": 6,
"IMAGE_JPEG": 1,
"IMAGE_BMP": 2,
"IMAGE_PNG": 3,
"IMAGE_SVG": 4,
"TEXT_UTF8": 5,
}
func (x ByteContentItem_BytesType) String() string {
return proto.EnumName(ByteContentItem_BytesType_name, int32(x))
}
func (ByteContentItem_BytesType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{1, 0}
}
// Predefined schemas for storing findings.
type OutputStorageConfig_OutputSchema int32
const (
OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED OutputStorageConfig_OutputSchema = 0
// Basic schema including only `info_type`, `quote`, `certainty`, and
// `timestamp`.
OutputStorageConfig_BASIC_COLUMNS OutputStorageConfig_OutputSchema = 1
// Schema tailored to findings from scanning Google Cloud Storage.
OutputStorageConfig_GCS_COLUMNS OutputStorageConfig_OutputSchema = 2
// Schema tailored to findings from scanning Google Datastore.
OutputStorageConfig_DATASTORE_COLUMNS OutputStorageConfig_OutputSchema = 3
// Schema tailored to findings from scanning Google BigQuery.
OutputStorageConfig_BIG_QUERY_COLUMNS OutputStorageConfig_OutputSchema = 4
// Schema containing all columns.
OutputStorageConfig_ALL_COLUMNS OutputStorageConfig_OutputSchema = 5
)
var OutputStorageConfig_OutputSchema_name = map[int32]string{
0: "OUTPUT_SCHEMA_UNSPECIFIED",
1: "BASIC_COLUMNS",
2: "GCS_COLUMNS",
3: "DATASTORE_COLUMNS",
4: "BIG_QUERY_COLUMNS",
5: "ALL_COLUMNS",
}
var OutputStorageConfig_OutputSchema_value = map[string]int32{
"OUTPUT_SCHEMA_UNSPECIFIED": 0,
"BASIC_COLUMNS": 1,
"GCS_COLUMNS": 2,
"DATASTORE_COLUMNS": 3,
"BIG_QUERY_COLUMNS": 4,
"ALL_COLUMNS": 5,
}
func (x OutputStorageConfig_OutputSchema) String() string {
return proto.EnumName(OutputStorageConfig_OutputSchema_name, int32(x))
}
func (OutputStorageConfig_OutputSchema) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{23, 0}
}
type TimePartConfig_TimePart int32
const (
TimePartConfig_TIME_PART_UNSPECIFIED TimePartConfig_TimePart = 0
// [0-9999]
TimePartConfig_YEAR TimePartConfig_TimePart = 1
// [1-12]
TimePartConfig_MONTH TimePartConfig_TimePart = 2
// [1-31]
TimePartConfig_DAY_OF_MONTH TimePartConfig_TimePart = 3
// [1-7]
TimePartConfig_DAY_OF_WEEK TimePartConfig_TimePart = 4
// [1-52]
TimePartConfig_WEEK_OF_YEAR TimePartConfig_TimePart = 5
// [0-23]
TimePartConfig_HOUR_OF_DAY TimePartConfig_TimePart = 6
)
var TimePartConfig_TimePart_name = map[int32]string{
0: "TIME_PART_UNSPECIFIED",
1: "YEAR",
2: "MONTH",
3: "DAY_OF_MONTH",
4: "DAY_OF_WEEK",
5: "WEEK_OF_YEAR",
6: "HOUR_OF_DAY",
}
var TimePartConfig_TimePart_value = map[string]int32{
"TIME_PART_UNSPECIFIED": 0,
"YEAR": 1,
"MONTH": 2,
"DAY_OF_MONTH": 3,
"DAY_OF_WEEK": 4,
"WEEK_OF_YEAR": 5,
"HOUR_OF_DAY": 6,
}
func (x TimePartConfig_TimePart) String() string {
return proto.EnumName(TimePartConfig_TimePart_name, int32(x))
}
func (TimePartConfig_TimePart) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{40, 0}
}
type CharsToIgnore_CommonCharsToIgnore int32
const (
CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED CharsToIgnore_CommonCharsToIgnore = 0
// 0-9
CharsToIgnore_NUMERIC CharsToIgnore_CommonCharsToIgnore = 1
// A-Z
CharsToIgnore_ALPHA_UPPER_CASE CharsToIgnore_CommonCharsToIgnore = 2
// a-z
CharsToIgnore_ALPHA_LOWER_CASE CharsToIgnore_CommonCharsToIgnore = 3
// US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
CharsToIgnore_PUNCTUATION CharsToIgnore_CommonCharsToIgnore = 4
// Whitespace character, one of [ \t\n\x0B\f\r]
CharsToIgnore_WHITESPACE CharsToIgnore_CommonCharsToIgnore = 5
)
var CharsToIgnore_CommonCharsToIgnore_name = map[int32]string{
0: "COMMON_CHARS_TO_IGNORE_UNSPECIFIED",
1: "NUMERIC",
2: "ALPHA_UPPER_CASE",
3: "ALPHA_LOWER_CASE",
4: "PUNCTUATION",
5: "WHITESPACE",
}
var CharsToIgnore_CommonCharsToIgnore_value = map[string]int32{
"COMMON_CHARS_TO_IGNORE_UNSPECIFIED": 0,
"NUMERIC": 1,
"ALPHA_UPPER_CASE": 2,
"ALPHA_LOWER_CASE": 3,
"PUNCTUATION": 4,
"WHITESPACE": 5,
}
func (x CharsToIgnore_CommonCharsToIgnore) String() string {
return proto.EnumName(CharsToIgnore_CommonCharsToIgnore_name, int32(x))
}
func (CharsToIgnore_CommonCharsToIgnore) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{45, 0}
}
// These are commonly used subsets of the alphabet that the FFX mode
// natively supports. In the algorithm, the alphabet is selected using
// the "radix". Therefore each corresponds to particular radix.
type CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet int32
const (
CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 0
// [0-9] (radix of 10)
CryptoReplaceFfxFpeConfig_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 1
// [0-9A-F] (radix of 16)
CryptoReplaceFfxFpeConfig_HEXADECIMAL CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 2
// [0-9A-Z] (radix of 36)
CryptoReplaceFfxFpeConfig_UPPER_CASE_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 3
// [0-9A-Za-z] (radix of 62)
CryptoReplaceFfxFpeConfig_ALPHA_NUMERIC CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet = 4
)
var CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name = map[int32]string{
0: "FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED",
1: "NUMERIC",
2: "HEXADECIMAL",
3: "UPPER_CASE_ALPHA_NUMERIC",
4: "ALPHA_NUMERIC",
}
var CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_value = map[string]int32{
"FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED": 0,
"NUMERIC": 1,
"HEXADECIMAL": 2,
"UPPER_CASE_ALPHA_NUMERIC": 3,
"ALPHA_NUMERIC": 4,
}
func (x CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) String() string {
return proto.EnumName(CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name, int32(x))
}
func (CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{49, 0}
}
type RecordCondition_Expressions_LogicalOperator int32
const (
RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED RecordCondition_Expressions_LogicalOperator = 0
RecordCondition_Expressions_AND RecordCondition_Expressions_LogicalOperator = 1
)
var RecordCondition_Expressions_LogicalOperator_name = map[int32]string{
0: "LOGICAL_OPERATOR_UNSPECIFIED",
1: "AND",
}
var RecordCondition_Expressions_LogicalOperator_value = map[string]int32{
"LOGICAL_OPERATOR_UNSPECIFIED": 0,
"AND": 1,
}
func (x RecordCondition_Expressions_LogicalOperator) String() string {
return proto.EnumName(RecordCondition_Expressions_LogicalOperator_name, int32(x))
}
func (RecordCondition_Expressions_LogicalOperator) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{59, 2, 0}
}
// Possible outcomes of transformations.
type TransformationSummary_TransformationResultCode int32
const (
TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED TransformationSummary_TransformationResultCode = 0
TransformationSummary_SUCCESS TransformationSummary_TransformationResultCode = 1
TransformationSummary_ERROR TransformationSummary_TransformationResultCode = 2
)
var TransformationSummary_TransformationResultCode_name = map[int32]string{
0: "TRANSFORMATION_RESULT_CODE_UNSPECIFIED",
1: "SUCCESS",
2: "ERROR",
}
var TransformationSummary_TransformationResultCode_value = map[string]int32{
"TRANSFORMATION_RESULT_CODE_UNSPECIFIED": 0,
"SUCCESS": 1,
"ERROR": 2,
}
func (x TransformationSummary_TransformationResultCode) String() string {
return proto.EnumName(TransformationSummary_TransformationResultCode_name, int32(x))
}
func (TransformationSummary_TransformationResultCode) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{61, 0}
}
// Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
// will be created with this configuration. The service may automatically
// pause triggers experiencing frequent errors. To restart a job, set the
// status to HEALTHY after correcting user errors.
type JobTrigger_Status int32
const (
JobTrigger_STATUS_UNSPECIFIED JobTrigger_Status = 0
// Trigger is healthy.
JobTrigger_HEALTHY JobTrigger_Status = 1
// Trigger is temporarily paused.
JobTrigger_PAUSED JobTrigger_Status = 2
// Trigger is cancelled and can not be resumed.
JobTrigger_CANCELLED JobTrigger_Status = 3
)
var JobTrigger_Status_name = map[int32]string{
0: "STATUS_UNSPECIFIED",
1: "HEALTHY",
2: "PAUSED",
3: "CANCELLED",
}
var JobTrigger_Status_value = map[string]int32{
"STATUS_UNSPECIFIED": 0,
"HEALTHY": 1,
"PAUSED": 2,
"CANCELLED": 3,
}
func (x JobTrigger_Status) String() string {
return proto.EnumName(JobTrigger_Status_name, int32(x))
}
func (JobTrigger_Status) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{66, 0}
}
type DlpJob_JobState int32
const (
DlpJob_JOB_STATE_UNSPECIFIED DlpJob_JobState = 0
// The job has not yet started.
DlpJob_PENDING DlpJob_JobState = 1
// The job is currently running.
DlpJob_RUNNING DlpJob_JobState = 2
// The job is no longer running.
DlpJob_DONE DlpJob_JobState = 3
// The job was canceled before it could complete.
DlpJob_CANCELED DlpJob_JobState = 4
// The job had an error and did not complete.
DlpJob_FAILED DlpJob_JobState = 5
)
var DlpJob_JobState_name = map[int32]string{
0: "JOB_STATE_UNSPECIFIED",
1: "PENDING",
2: "RUNNING",
3: "DONE",
4: "CANCELED",
5: "FAILED",
}
var DlpJob_JobState_value = map[string]int32{
"JOB_STATE_UNSPECIFIED": 0,
"PENDING": 1,
"RUNNING": 2,
"DONE": 3,
"CANCELED": 4,
"FAILED": 5,
}
func (x DlpJob_JobState) String() string {
return proto.EnumName(DlpJob_JobState_name, int32(x))
}
func (DlpJob_JobState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{82, 0}
}
// Configuration description of the scanning process.
// When used with redactContent only info_types and min_likelihood are currently
// used.
type InspectConfig struct {
// Restricts what info_types to look for. The values must correspond to
// InfoType values returned by ListInfoTypes or listed at
// https://cloud.google.com/dlp/docs/infotypes-reference.
//
// When no InfoTypes or CustomInfoTypes are specified in a request, the
// system may automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
//
// The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
// but may change over time as new InfoTypes are added. If you need precise
// control and predictability as to what detectors are run you should specify
// specific InfoTypes listed in the reference.
InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
// Only returns findings equal or above this threshold. The default is
// POSSIBLE.
// See https://cloud.google.com/dlp/docs/likelihood to learn more.
MinLikelihood Likelihood `protobuf:"varint,2,opt,name=min_likelihood,json=minLikelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"min_likelihood,omitempty"`
Limits *InspectConfig_FindingLimits `protobuf:"bytes,3,opt,name=limits,proto3" json:"limits,omitempty"`
// When true, a contextual quote from the data that triggered a finding is
// included in the response; see Finding.quote.
IncludeQuote bool `protobuf:"varint,4,opt,name=include_quote,json=includeQuote,proto3" json:"include_quote,omitempty"`
// When true, excludes type information of the findings.
ExcludeInfoTypes bool `protobuf:"varint,5,opt,name=exclude_info_types,json=excludeInfoTypes,proto3" json:"exclude_info_types,omitempty"`
// CustomInfoTypes provided by the user. See
// https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
CustomInfoTypes []*CustomInfoType `protobuf:"bytes,6,rep,name=custom_info_types,json=customInfoTypes,proto3" json:"custom_info_types,omitempty"`
// List of options defining data content to scan.
// If empty, text, images, and other content will be included.
ContentOptions []ContentOption `protobuf:"varint,8,rep,packed,name=content_options,json=contentOptions,proto3,enum=google.privacy.dlp.v2.ContentOption" json:"content_options,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectConfig) Reset() { *m = InspectConfig{} }
func (m *InspectConfig) String() string { return proto.CompactTextString(m) }
func (*InspectConfig) ProtoMessage() {}
func (*InspectConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{0}
}
func (m *InspectConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectConfig.Unmarshal(m, b)
}
func (m *InspectConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectConfig.Marshal(b, m, deterministic)
}
func (dst *InspectConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectConfig.Merge(dst, src)
}
func (m *InspectConfig) XXX_Size() int {
return xxx_messageInfo_InspectConfig.Size(m)
}
func (m *InspectConfig) XXX_DiscardUnknown() {
xxx_messageInfo_InspectConfig.DiscardUnknown(m)
}
var xxx_messageInfo_InspectConfig proto.InternalMessageInfo
func (m *InspectConfig) GetInfoTypes() []*InfoType {
if m != nil {
return m.InfoTypes
}
return nil
}
func (m *InspectConfig) GetMinLikelihood() Likelihood {
if m != nil {
return m.MinLikelihood
}
return Likelihood_LIKELIHOOD_UNSPECIFIED
}
func (m *InspectConfig) GetLimits() *InspectConfig_FindingLimits {
if m != nil {
return m.Limits
}
return nil
}
func (m *InspectConfig) GetIncludeQuote() bool {
if m != nil {
return m.IncludeQuote
}
return false
}
func (m *InspectConfig) GetExcludeInfoTypes() bool {
if m != nil {
return m.ExcludeInfoTypes
}
return false
}
func (m *InspectConfig) GetCustomInfoTypes() []*CustomInfoType {
if m != nil {
return m.CustomInfoTypes
}
return nil
}
func (m *InspectConfig) GetContentOptions() []ContentOption {
if m != nil {
return m.ContentOptions
}
return nil
}
type InspectConfig_FindingLimits struct {
// Max number of findings that will be returned for each item scanned.
// When set within `InspectDataSourceRequest`,
// the maximum returned is 1000 regardless if this is set higher.
// When set within `InspectContentRequest`, this field is ignored.
MaxFindingsPerItem int32 `protobuf:"varint,1,opt,name=max_findings_per_item,json=maxFindingsPerItem,proto3" json:"max_findings_per_item,omitempty"`
// Max number of findings that will be returned per request/job.
// When set within `InspectContentRequest`, the maximum returned is 1000
// regardless if this is set higher.
MaxFindingsPerRequest int32 `protobuf:"varint,2,opt,name=max_findings_per_request,json=maxFindingsPerRequest,proto3" json:"max_findings_per_request,omitempty"`
// Configuration of findings limit given for specified infoTypes.
MaxFindingsPerInfoType []*InspectConfig_FindingLimits_InfoTypeLimit `protobuf:"bytes,3,rep,name=max_findings_per_info_type,json=maxFindingsPerInfoType,proto3" json:"max_findings_per_info_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectConfig_FindingLimits) Reset() { *m = InspectConfig_FindingLimits{} }
func (m *InspectConfig_FindingLimits) String() string { return proto.CompactTextString(m) }
func (*InspectConfig_FindingLimits) ProtoMessage() {}
func (*InspectConfig_FindingLimits) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{0, 0}
}
func (m *InspectConfig_FindingLimits) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectConfig_FindingLimits.Unmarshal(m, b)
}
func (m *InspectConfig_FindingLimits) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectConfig_FindingLimits.Marshal(b, m, deterministic)
}
func (dst *InspectConfig_FindingLimits) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectConfig_FindingLimits.Merge(dst, src)
}
func (m *InspectConfig_FindingLimits) XXX_Size() int {
return xxx_messageInfo_InspectConfig_FindingLimits.Size(m)
}
func (m *InspectConfig_FindingLimits) XXX_DiscardUnknown() {
xxx_messageInfo_InspectConfig_FindingLimits.DiscardUnknown(m)
}
var xxx_messageInfo_InspectConfig_FindingLimits proto.InternalMessageInfo
func (m *InspectConfig_FindingLimits) GetMaxFindingsPerItem() int32 {
if m != nil {
return m.MaxFindingsPerItem
}
return 0
}
func (m *InspectConfig_FindingLimits) GetMaxFindingsPerRequest() int32 {
if m != nil {
return m.MaxFindingsPerRequest
}
return 0
}
func (m *InspectConfig_FindingLimits) GetMaxFindingsPerInfoType() []*InspectConfig_FindingLimits_InfoTypeLimit {
if m != nil {
return m.MaxFindingsPerInfoType
}
return nil
}
// Max findings configuration per infoType, per content item or long
// running DlpJob.
type InspectConfig_FindingLimits_InfoTypeLimit struct {
// Type of information the findings limit applies to. Only one limit per
// info_type should be provided. If InfoTypeLimit does not have an
// info_type, the DLP API applies the limit against all info_types that
// are found but not specified in another InfoTypeLimit.
InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
// Max findings limit for the given infoType.
MaxFindings int32 `protobuf:"varint,2,opt,name=max_findings,json=maxFindings,proto3" json:"max_findings,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) Reset() {
*m = InspectConfig_FindingLimits_InfoTypeLimit{}
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) String() string { return proto.CompactTextString(m) }
func (*InspectConfig_FindingLimits_InfoTypeLimit) ProtoMessage() {}
func (*InspectConfig_FindingLimits_InfoTypeLimit) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{0, 0, 0}
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Unmarshal(m, b)
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Marshal(b, m, deterministic)
}
func (dst *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Merge(dst, src)
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_Size() int {
return xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.Size(m)
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) XXX_DiscardUnknown() {
xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit.DiscardUnknown(m)
}
var xxx_messageInfo_InspectConfig_FindingLimits_InfoTypeLimit proto.InternalMessageInfo
func (m *InspectConfig_FindingLimits_InfoTypeLimit) GetInfoType() *InfoType {
if m != nil {
return m.InfoType
}
return nil
}
func (m *InspectConfig_FindingLimits_InfoTypeLimit) GetMaxFindings() int32 {
if m != nil {
return m.MaxFindings
}
return 0
}
// Container for bytes to inspect or redact.
type ByteContentItem struct {
// The type of data stored in the bytes string. Default will be TEXT_UTF8.
Type ByteContentItem_BytesType `protobuf:"varint,1,opt,name=type,proto3,enum=google.privacy.dlp.v2.ByteContentItem_BytesType" json:"type,omitempty"`
// Content data to inspect or redact.
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ByteContentItem) Reset() { *m = ByteContentItem{} }
func (m *ByteContentItem) String() string { return proto.CompactTextString(m) }
func (*ByteContentItem) ProtoMessage() {}
func (*ByteContentItem) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{1}
}
func (m *ByteContentItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ByteContentItem.Unmarshal(m, b)
}
func (m *ByteContentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ByteContentItem.Marshal(b, m, deterministic)
}
func (dst *ByteContentItem) XXX_Merge(src proto.Message) {
xxx_messageInfo_ByteContentItem.Merge(dst, src)
}
func (m *ByteContentItem) XXX_Size() int {
return xxx_messageInfo_ByteContentItem.Size(m)
}
func (m *ByteContentItem) XXX_DiscardUnknown() {
xxx_messageInfo_ByteContentItem.DiscardUnknown(m)
}
var xxx_messageInfo_ByteContentItem proto.InternalMessageInfo
func (m *ByteContentItem) GetType() ByteContentItem_BytesType {
if m != nil {
return m.Type
}
return ByteContentItem_BYTES_TYPE_UNSPECIFIED
}
func (m *ByteContentItem) GetData() []byte {
if m != nil {
return m.Data
}
return nil
}
// Container structure for the content to inspect.
type ContentItem struct {
// Data of the item either in the byte array or UTF-8 string form, or table.
//
// Types that are valid to be assigned to DataItem:
// *ContentItem_Value
// *ContentItem_Table
// *ContentItem_ByteItem
DataItem isContentItem_DataItem `protobuf_oneof:"data_item"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ContentItem) Reset() { *m = ContentItem{} }
func (m *ContentItem) String() string { return proto.CompactTextString(m) }
func (*ContentItem) ProtoMessage() {}
func (*ContentItem) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{2}
}
func (m *ContentItem) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ContentItem.Unmarshal(m, b)
}
func (m *ContentItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ContentItem.Marshal(b, m, deterministic)
}
func (dst *ContentItem) XXX_Merge(src proto.Message) {
xxx_messageInfo_ContentItem.Merge(dst, src)
}
func (m *ContentItem) XXX_Size() int {
return xxx_messageInfo_ContentItem.Size(m)
}
func (m *ContentItem) XXX_DiscardUnknown() {
xxx_messageInfo_ContentItem.DiscardUnknown(m)
}
var xxx_messageInfo_ContentItem proto.InternalMessageInfo
type isContentItem_DataItem interface {
isContentItem_DataItem()
}
type ContentItem_Value struct {
Value string `protobuf:"bytes,3,opt,name=value,proto3,oneof"`
}
type ContentItem_Table struct {
Table *Table `protobuf:"bytes,4,opt,name=table,proto3,oneof"`
}
type ContentItem_ByteItem struct {
ByteItem *ByteContentItem `protobuf:"bytes,5,opt,name=byte_item,json=byteItem,proto3,oneof"`
}
func (*ContentItem_Value) isContentItem_DataItem() {}
func (*ContentItem_Table) isContentItem_DataItem() {}
func (*ContentItem_ByteItem) isContentItem_DataItem() {}
func (m *ContentItem) GetDataItem() isContentItem_DataItem {
if m != nil {
return m.DataItem
}
return nil
}
func (m *ContentItem) GetValue() string {
if x, ok := m.GetDataItem().(*ContentItem_Value); ok {
return x.Value
}
return ""
}
func (m *ContentItem) GetTable() *Table {
if x, ok := m.GetDataItem().(*ContentItem_Table); ok {
return x.Table
}
return nil
}
func (m *ContentItem) GetByteItem() *ByteContentItem {
if x, ok := m.GetDataItem().(*ContentItem_ByteItem); ok {
return x.ByteItem
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*ContentItem) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _ContentItem_OneofMarshaler, _ContentItem_OneofUnmarshaler, _ContentItem_OneofSizer, []interface{}{
(*ContentItem_Value)(nil),
(*ContentItem_Table)(nil),
(*ContentItem_ByteItem)(nil),
}
}
func _ContentItem_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*ContentItem)
// data_item
switch x := m.DataItem.(type) {
case *ContentItem_Value:
b.EncodeVarint(3<<3 | proto.WireBytes)
b.EncodeStringBytes(x.Value)
case *ContentItem_Table:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Table); err != nil {
return err
}
case *ContentItem_ByteItem:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ByteItem); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("ContentItem.DataItem has unexpected type %T", x)
}
return nil
}
func _ContentItem_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*ContentItem)
switch tag {
case 3: // data_item.value
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeStringBytes()
m.DataItem = &ContentItem_Value{x}
return true, err
case 4: // data_item.table
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Table)
err := b.DecodeMessage(msg)
m.DataItem = &ContentItem_Table{msg}
return true, err
case 5: // data_item.byte_item
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ByteContentItem)
err := b.DecodeMessage(msg)
m.DataItem = &ContentItem_ByteItem{msg}
return true, err
default:
return false, nil
}
}
func _ContentItem_OneofSizer(msg proto.Message) (n int) {
m := msg.(*ContentItem)
// data_item
switch x := m.DataItem.(type) {
case *ContentItem_Value:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.Value)))
n += len(x.Value)
case *ContentItem_Table:
s := proto.Size(x.Table)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *ContentItem_ByteItem:
s := proto.Size(x.ByteItem)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Structured content to inspect. Up to 50,000 `Value`s per request allowed.
// See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
// learn more.
type Table struct {
Headers []*FieldId `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
Rows []*Table_Row `protobuf:"bytes,2,rep,name=rows,proto3" json:"rows,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Table) Reset() { *m = Table{} }
func (m *Table) String() string { return proto.CompactTextString(m) }
func (*Table) ProtoMessage() {}
func (*Table) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{3}
}
func (m *Table) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Table.Unmarshal(m, b)
}
func (m *Table) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Table.Marshal(b, m, deterministic)
}
func (dst *Table) XXX_Merge(src proto.Message) {
xxx_messageInfo_Table.Merge(dst, src)
}
func (m *Table) XXX_Size() int {
return xxx_messageInfo_Table.Size(m)
}
func (m *Table) XXX_DiscardUnknown() {
xxx_messageInfo_Table.DiscardUnknown(m)
}
var xxx_messageInfo_Table proto.InternalMessageInfo
func (m *Table) GetHeaders() []*FieldId {
if m != nil {
return m.Headers
}
return nil
}
func (m *Table) GetRows() []*Table_Row {
if m != nil {
return m.Rows
}
return nil
}
type Table_Row struct {
Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Table_Row) Reset() { *m = Table_Row{} }
func (m *Table_Row) String() string { return proto.CompactTextString(m) }
func (*Table_Row) ProtoMessage() {}
func (*Table_Row) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{3, 0}
}
func (m *Table_Row) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Table_Row.Unmarshal(m, b)
}
func (m *Table_Row) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Table_Row.Marshal(b, m, deterministic)
}
func (dst *Table_Row) XXX_Merge(src proto.Message) {
xxx_messageInfo_Table_Row.Merge(dst, src)
}
func (m *Table_Row) XXX_Size() int {
return xxx_messageInfo_Table_Row.Size(m)
}
func (m *Table_Row) XXX_DiscardUnknown() {
xxx_messageInfo_Table_Row.DiscardUnknown(m)
}
var xxx_messageInfo_Table_Row proto.InternalMessageInfo
func (m *Table_Row) GetValues() []*Value {
if m != nil {
return m.Values
}
return nil
}
// All the findings for a single scanned item.
type InspectResult struct {
// List of findings for an item.
Findings []*Finding `protobuf:"bytes,1,rep,name=findings,proto3" json:"findings,omitempty"`
// If true, then this item might have more findings than were returned,
// and the findings returned are an arbitrary subset of all findings.
// The findings list might be truncated because the input items were too
// large, or because the server reached the maximum amount of resources
// allowed for a single API call. For best results, divide the input into
// smaller batches.
FindingsTruncated bool `protobuf:"varint,2,opt,name=findings_truncated,json=findingsTruncated,proto3" json:"findings_truncated,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectResult) Reset() { *m = InspectResult{} }
func (m *InspectResult) String() string { return proto.CompactTextString(m) }
func (*InspectResult) ProtoMessage() {}
func (*InspectResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{4}
}
func (m *InspectResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectResult.Unmarshal(m, b)
}
func (m *InspectResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectResult.Marshal(b, m, deterministic)
}
func (dst *InspectResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectResult.Merge(dst, src)
}
func (m *InspectResult) XXX_Size() int {
return xxx_messageInfo_InspectResult.Size(m)
}
func (m *InspectResult) XXX_DiscardUnknown() {
xxx_messageInfo_InspectResult.DiscardUnknown(m)
}
var xxx_messageInfo_InspectResult proto.InternalMessageInfo
func (m *InspectResult) GetFindings() []*Finding {
if m != nil {
return m.Findings
}
return nil
}
func (m *InspectResult) GetFindingsTruncated() bool {
if m != nil {
return m.FindingsTruncated
}
return false
}
// Represents a piece of potentially sensitive content.
type Finding struct {
// The content that was found. Even if the content is not textual, it
// may be converted to a textual representation here.
// Provided if `include_quote` is true and the finding is
// less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
// in length, the quote may be omitted.
Quote string `protobuf:"bytes,1,opt,name=quote,proto3" json:"quote,omitempty"`
// The type of content that might have been found.
// Provided if `excluded_types` is false.
InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
// Confidence of how likely it is that the `info_type` is correct.
Likelihood Likelihood `protobuf:"varint,3,opt,name=likelihood,proto3,enum=google.privacy.dlp.v2.Likelihood" json:"likelihood,omitempty"`
// Where the content was found.
Location *Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
// Timestamp when finding was detected.
CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Contains data parsed from quotes. Only populated if include_quote was set
// to true and a supported infoType was requested. Currently supported
// infoTypes: DATE, DATE_OF_BIRTH and TIME.
QuoteInfo *QuoteInfo `protobuf:"bytes,7,opt,name=quote_info,json=quoteInfo,proto3" json:"quote_info,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Finding) Reset() { *m = Finding{} }
func (m *Finding) String() string { return proto.CompactTextString(m) }
func (*Finding) ProtoMessage() {}
func (*Finding) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{5}
}
func (m *Finding) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Finding.Unmarshal(m, b)
}
func (m *Finding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Finding.Marshal(b, m, deterministic)
}
func (dst *Finding) XXX_Merge(src proto.Message) {
xxx_messageInfo_Finding.Merge(dst, src)
}
func (m *Finding) XXX_Size() int {
return xxx_messageInfo_Finding.Size(m)
}
func (m *Finding) XXX_DiscardUnknown() {
xxx_messageInfo_Finding.DiscardUnknown(m)
}
var xxx_messageInfo_Finding proto.InternalMessageInfo
func (m *Finding) GetQuote() string {
if m != nil {
return m.Quote
}
return ""
}
func (m *Finding) GetInfoType() *InfoType {
if m != nil {
return m.InfoType
}
return nil
}
func (m *Finding) GetLikelihood() Likelihood {
if m != nil {
return m.Likelihood
}
return Likelihood_LIKELIHOOD_UNSPECIFIED
}
func (m *Finding) GetLocation() *Location {
if m != nil {
return m.Location
}
return nil
}
func (m *Finding) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *Finding) GetQuoteInfo() *QuoteInfo {
if m != nil {
return m.QuoteInfo
}
return nil
}
// Specifies the location of the finding.
type Location struct {
// Zero-based byte offsets delimiting the finding.
// These are relative to the finding's containing element.
// Note that when the content is not textual, this references
// the UTF-8 encoded textual representation of the content.
// Omitted if content is an image.
ByteRange *Range `protobuf:"bytes,1,opt,name=byte_range,json=byteRange,proto3" json:"byte_range,omitempty"`
// Unicode character offsets delimiting the finding.
// These are relative to the finding's containing element.
// Provided when the content is text.
CodepointRange *Range `protobuf:"bytes,2,opt,name=codepoint_range,json=codepointRange,proto3" json:"codepoint_range,omitempty"`
// List of nested objects pointing to the precise location of the finding
// within the file or record.
ContentLocations []*ContentLocation `protobuf:"bytes,7,rep,name=content_locations,json=contentLocations,proto3" json:"content_locations,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Location) Reset() { *m = Location{} }
func (m *Location) String() string { return proto.CompactTextString(m) }
func (*Location) ProtoMessage() {}
func (*Location) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{6}
}
func (m *Location) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Location.Unmarshal(m, b)
}
func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Location.Marshal(b, m, deterministic)
}
func (dst *Location) XXX_Merge(src proto.Message) {
xxx_messageInfo_Location.Merge(dst, src)
}
func (m *Location) XXX_Size() int {
return xxx_messageInfo_Location.Size(m)
}
func (m *Location) XXX_DiscardUnknown() {
xxx_messageInfo_Location.DiscardUnknown(m)
}
var xxx_messageInfo_Location proto.InternalMessageInfo
func (m *Location) GetByteRange() *Range {
if m != nil {
return m.ByteRange
}
return nil
}
func (m *Location) GetCodepointRange() *Range {
if m != nil {
return m.CodepointRange
}
return nil
}
func (m *Location) GetContentLocations() []*ContentLocation {
if m != nil {
return m.ContentLocations
}
return nil
}
// Findings container location data.
type ContentLocation struct {
// Name of the container where the finding is located.
// The top level name is the source file name or table name. Nested names
// could be absent if the embedded object has no string identifier
// (for an example an image contained within a document).
ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
// Type of the container within the file with location of the finding.
//
// Types that are valid to be assigned to Location:
// *ContentLocation_RecordLocation
// *ContentLocation_ImageLocation
// *ContentLocation_DocumentLocation
Location isContentLocation_Location `protobuf_oneof:"location"`
// Findings container modification timestamp, if applicable.
// For Google Cloud Storage contains last file modification timestamp.
// For BigQuery table contains last_modified_time property.
// For Datastore - not populated.
ContainerTimestamp *timestamp.Timestamp `protobuf:"bytes,6,opt,name=container_timestamp,json=containerTimestamp,proto3" json:"container_timestamp,omitempty"`
// Findings container version, if available
// ("generation" for Google Cloud Storage).
ContainerVersion string `protobuf:"bytes,7,opt,name=container_version,json=containerVersion,proto3" json:"container_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ContentLocation) Reset() { *m = ContentLocation{} }
func (m *ContentLocation) String() string { return proto.CompactTextString(m) }
func (*ContentLocation) ProtoMessage() {}
func (*ContentLocation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{7}
}
func (m *ContentLocation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ContentLocation.Unmarshal(m, b)
}
func (m *ContentLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ContentLocation.Marshal(b, m, deterministic)
}
func (dst *ContentLocation) XXX_Merge(src proto.Message) {
xxx_messageInfo_ContentLocation.Merge(dst, src)
}
func (m *ContentLocation) XXX_Size() int {
return xxx_messageInfo_ContentLocation.Size(m)
}
func (m *ContentLocation) XXX_DiscardUnknown() {
xxx_messageInfo_ContentLocation.DiscardUnknown(m)
}
var xxx_messageInfo_ContentLocation proto.InternalMessageInfo
func (m *ContentLocation) GetContainerName() string {
if m != nil {
return m.ContainerName
}
return ""
}
type isContentLocation_Location interface {
isContentLocation_Location()
}
type ContentLocation_RecordLocation struct {
RecordLocation *RecordLocation `protobuf:"bytes,2,opt,name=record_location,json=recordLocation,proto3,oneof"`
}
type ContentLocation_ImageLocation struct {
ImageLocation *ImageLocation `protobuf:"bytes,3,opt,name=image_location,json=imageLocation,proto3,oneof"`
}
type ContentLocation_DocumentLocation struct {
DocumentLocation *DocumentLocation `protobuf:"bytes,5,opt,name=document_location,json=documentLocation,proto3,oneof"`
}
func (*ContentLocation_RecordLocation) isContentLocation_Location() {}
func (*ContentLocation_ImageLocation) isContentLocation_Location() {}
func (*ContentLocation_DocumentLocation) isContentLocation_Location() {}
func (m *ContentLocation) GetLocation() isContentLocation_Location {
if m != nil {
return m.Location
}
return nil
}
func (m *ContentLocation) GetRecordLocation() *RecordLocation {
if x, ok := m.GetLocation().(*ContentLocation_RecordLocation); ok {
return x.RecordLocation
}
return nil
}
func (m *ContentLocation) GetImageLocation() *ImageLocation {
if x, ok := m.GetLocation().(*ContentLocation_ImageLocation); ok {
return x.ImageLocation
}
return nil
}
func (m *ContentLocation) GetDocumentLocation() *DocumentLocation {
if x, ok := m.GetLocation().(*ContentLocation_DocumentLocation); ok {
return x.DocumentLocation
}
return nil
}
func (m *ContentLocation) GetContainerTimestamp() *timestamp.Timestamp {
if m != nil {
return m.ContainerTimestamp
}
return nil
}
func (m *ContentLocation) GetContainerVersion() string {
if m != nil {
return m.ContainerVersion
}
return ""
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*ContentLocation) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _ContentLocation_OneofMarshaler, _ContentLocation_OneofUnmarshaler, _ContentLocation_OneofSizer, []interface{}{
(*ContentLocation_RecordLocation)(nil),
(*ContentLocation_ImageLocation)(nil),
(*ContentLocation_DocumentLocation)(nil),
}
}
func _ContentLocation_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*ContentLocation)
// location
switch x := m.Location.(type) {
case *ContentLocation_RecordLocation:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RecordLocation); err != nil {
return err
}
case *ContentLocation_ImageLocation:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ImageLocation); err != nil {
return err
}
case *ContentLocation_DocumentLocation:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.DocumentLocation); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("ContentLocation.Location has unexpected type %T", x)
}
return nil
}
func _ContentLocation_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*ContentLocation)
switch tag {
case 2: // location.record_location
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RecordLocation)
err := b.DecodeMessage(msg)
m.Location = &ContentLocation_RecordLocation{msg}
return true, err
case 3: // location.image_location
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ImageLocation)
err := b.DecodeMessage(msg)
m.Location = &ContentLocation_ImageLocation{msg}
return true, err
case 5: // location.document_location
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(DocumentLocation)
err := b.DecodeMessage(msg)
m.Location = &ContentLocation_DocumentLocation{msg}
return true, err
default:
return false, nil
}
}
func _ContentLocation_OneofSizer(msg proto.Message) (n int) {
m := msg.(*ContentLocation)
// location
switch x := m.Location.(type) {
case *ContentLocation_RecordLocation:
s := proto.Size(x.RecordLocation)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *ContentLocation_ImageLocation:
s := proto.Size(x.ImageLocation)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *ContentLocation_DocumentLocation:
s := proto.Size(x.DocumentLocation)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Location of a finding within a document.
type DocumentLocation struct {
// Offset of the line, from the beginning of the file, where the finding
// is located.
FileOffset int64 `protobuf:"varint,1,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DocumentLocation) Reset() { *m = DocumentLocation{} }
func (m *DocumentLocation) String() string { return proto.CompactTextString(m) }
func (*DocumentLocation) ProtoMessage() {}
func (*DocumentLocation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{8}
}
func (m *DocumentLocation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DocumentLocation.Unmarshal(m, b)
}
func (m *DocumentLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DocumentLocation.Marshal(b, m, deterministic)
}
func (dst *DocumentLocation) XXX_Merge(src proto.Message) {
xxx_messageInfo_DocumentLocation.Merge(dst, src)
}
func (m *DocumentLocation) XXX_Size() int {
return xxx_messageInfo_DocumentLocation.Size(m)
}
func (m *DocumentLocation) XXX_DiscardUnknown() {
xxx_messageInfo_DocumentLocation.DiscardUnknown(m)
}
var xxx_messageInfo_DocumentLocation proto.InternalMessageInfo
func (m *DocumentLocation) GetFileOffset() int64 {
if m != nil {
return m.FileOffset
}
return 0
}
// Location of a finding within a row or record.
type RecordLocation struct {
// Key of the finding.
RecordKey *RecordKey `protobuf:"bytes,1,opt,name=record_key,json=recordKey,proto3" json:"record_key,omitempty"`
// Field id of the field containing the finding.
FieldId *FieldId `protobuf:"bytes,2,opt,name=field_id,json=fieldId,proto3" json:"field_id,omitempty"`
// Location within a `ContentItem.Table`.
TableLocation *TableLocation `protobuf:"bytes,3,opt,name=table_location,json=tableLocation,proto3" json:"table_location,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordLocation) Reset() { *m = RecordLocation{} }
func (m *RecordLocation) String() string { return proto.CompactTextString(m) }
func (*RecordLocation) ProtoMessage() {}
func (*RecordLocation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{9}
}
func (m *RecordLocation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordLocation.Unmarshal(m, b)
}
func (m *RecordLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordLocation.Marshal(b, m, deterministic)
}
func (dst *RecordLocation) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordLocation.Merge(dst, src)
}
func (m *RecordLocation) XXX_Size() int {
return xxx_messageInfo_RecordLocation.Size(m)
}
func (m *RecordLocation) XXX_DiscardUnknown() {
xxx_messageInfo_RecordLocation.DiscardUnknown(m)
}
var xxx_messageInfo_RecordLocation proto.InternalMessageInfo
func (m *RecordLocation) GetRecordKey() *RecordKey {
if m != nil {
return m.RecordKey
}
return nil
}
func (m *RecordLocation) GetFieldId() *FieldId {
if m != nil {
return m.FieldId
}
return nil
}
func (m *RecordLocation) GetTableLocation() *TableLocation {
if m != nil {
return m.TableLocation
}
return nil
}
// Location of a finding within a table.
type TableLocation struct {
// The zero-based index of the row where the finding is located.
RowIndex int64 `protobuf:"varint,1,opt,name=row_index,json=rowIndex,proto3" json:"row_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TableLocation) Reset() { *m = TableLocation{} }
func (m *TableLocation) String() string { return proto.CompactTextString(m) }
func (*TableLocation) ProtoMessage() {}
func (*TableLocation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{10}
}
func (m *TableLocation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TableLocation.Unmarshal(m, b)
}
func (m *TableLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TableLocation.Marshal(b, m, deterministic)
}
func (dst *TableLocation) XXX_Merge(src proto.Message) {
xxx_messageInfo_TableLocation.Merge(dst, src)
}
func (m *TableLocation) XXX_Size() int {
return xxx_messageInfo_TableLocation.Size(m)
}
func (m *TableLocation) XXX_DiscardUnknown() {
xxx_messageInfo_TableLocation.DiscardUnknown(m)
}
var xxx_messageInfo_TableLocation proto.InternalMessageInfo
func (m *TableLocation) GetRowIndex() int64 {
if m != nil {
return m.RowIndex
}
return 0
}
// Generic half-open interval [start, end)
type Range struct {
// Index of the first character of the range (inclusive).
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
// Index of the last character of the range (exclusive).
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Range) Reset() { *m = Range{} }
func (m *Range) String() string { return proto.CompactTextString(m) }
func (*Range) ProtoMessage() {}
func (*Range) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{11}
}
func (m *Range) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Range.Unmarshal(m, b)
}
func (m *Range) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Range.Marshal(b, m, deterministic)
}
func (dst *Range) XXX_Merge(src proto.Message) {
xxx_messageInfo_Range.Merge(dst, src)
}
func (m *Range) XXX_Size() int {
return xxx_messageInfo_Range.Size(m)
}
func (m *Range) XXX_DiscardUnknown() {
xxx_messageInfo_Range.DiscardUnknown(m)
}
var xxx_messageInfo_Range proto.InternalMessageInfo
func (m *Range) GetStart() int64 {
if m != nil {
return m.Start
}
return 0
}
func (m *Range) GetEnd() int64 {
if m != nil {
return m.End
}
return 0
}
// Location of the finding within an image.
type ImageLocation struct {
// Bounding boxes locating the pixels within the image containing the finding.
BoundingBoxes []*BoundingBox `protobuf:"bytes,1,rep,name=bounding_boxes,json=boundingBoxes,proto3" json:"bounding_boxes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ImageLocation) Reset() { *m = ImageLocation{} }
func (m *ImageLocation) String() string { return proto.CompactTextString(m) }
func (*ImageLocation) ProtoMessage() {}
func (*ImageLocation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{12}
}
func (m *ImageLocation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ImageLocation.Unmarshal(m, b)
}
func (m *ImageLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ImageLocation.Marshal(b, m, deterministic)
}
func (dst *ImageLocation) XXX_Merge(src proto.Message) {
xxx_messageInfo_ImageLocation.Merge(dst, src)
}
func (m *ImageLocation) XXX_Size() int {
return xxx_messageInfo_ImageLocation.Size(m)
}
func (m *ImageLocation) XXX_DiscardUnknown() {
xxx_messageInfo_ImageLocation.DiscardUnknown(m)
}
var xxx_messageInfo_ImageLocation proto.InternalMessageInfo
func (m *ImageLocation) GetBoundingBoxes() []*BoundingBox {
if m != nil {
return m.BoundingBoxes
}
return nil
}
// Bounding box encompassing detected text within an image.
type BoundingBox struct {
// Top coordinate of the bounding box. (0,0) is upper left.
Top int32 `protobuf:"varint,1,opt,name=top,proto3" json:"top,omitempty"`
// Left coordinate of the bounding box. (0,0) is upper left.
Left int32 `protobuf:"varint,2,opt,name=left,proto3" json:"left,omitempty"`
// Width of the bounding box in pixels.
Width int32 `protobuf:"varint,3,opt,name=width,proto3" json:"width,omitempty"`
// Height of the bounding box in pixels.
Height int32 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BoundingBox) Reset() { *m = BoundingBox{} }
func (m *BoundingBox) String() string { return proto.CompactTextString(m) }
func (*BoundingBox) ProtoMessage() {}
func (*BoundingBox) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{13}
}
func (m *BoundingBox) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BoundingBox.Unmarshal(m, b)
}
func (m *BoundingBox) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BoundingBox.Marshal(b, m, deterministic)
}
func (dst *BoundingBox) XXX_Merge(src proto.Message) {
xxx_messageInfo_BoundingBox.Merge(dst, src)
}
func (m *BoundingBox) XXX_Size() int {
return xxx_messageInfo_BoundingBox.Size(m)
}
func (m *BoundingBox) XXX_DiscardUnknown() {
xxx_messageInfo_BoundingBox.DiscardUnknown(m)
}
var xxx_messageInfo_BoundingBox proto.InternalMessageInfo
func (m *BoundingBox) GetTop() int32 {
if m != nil {
return m.Top
}
return 0
}
func (m *BoundingBox) GetLeft() int32 {
if m != nil {
return m.Left
}
return 0
}
func (m *BoundingBox) GetWidth() int32 {
if m != nil {
return m.Width
}
return 0
}
func (m *BoundingBox) GetHeight() int32 {
if m != nil {
return m.Height
}
return 0
}
// Request to search for potentially sensitive info in an image and redact it
// by covering it with a colored rectangle.
type RedactImageRequest struct {
// The parent resource name, for example projects/my-project-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Configuration for the inspector.
InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
// The configuration for specifying what content to redact from images.
ImageRedactionConfigs []*RedactImageRequest_ImageRedactionConfig `protobuf:"bytes,5,rep,name=image_redaction_configs,json=imageRedactionConfigs,proto3" json:"image_redaction_configs,omitempty"`
// Whether the response should include findings along with the redacted
// image.
IncludeFindings bool `protobuf:"varint,6,opt,name=include_findings,json=includeFindings,proto3" json:"include_findings,omitempty"`
// The content must be PNG, JPEG, SVG or BMP.
ByteItem *ByteContentItem `protobuf:"bytes,7,opt,name=byte_item,json=byteItem,proto3" json:"byte_item,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RedactImageRequest) Reset() { *m = RedactImageRequest{} }
func (m *RedactImageRequest) String() string { return proto.CompactTextString(m) }
func (*RedactImageRequest) ProtoMessage() {}
func (*RedactImageRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{14}
}
func (m *RedactImageRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RedactImageRequest.Unmarshal(m, b)
}
func (m *RedactImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RedactImageRequest.Marshal(b, m, deterministic)
}
func (dst *RedactImageRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_RedactImageRequest.Merge(dst, src)
}
func (m *RedactImageRequest) XXX_Size() int {
return xxx_messageInfo_RedactImageRequest.Size(m)
}
func (m *RedactImageRequest) XXX_DiscardUnknown() {
xxx_messageInfo_RedactImageRequest.DiscardUnknown(m)
}
var xxx_messageInfo_RedactImageRequest proto.InternalMessageInfo
func (m *RedactImageRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *RedactImageRequest) GetInspectConfig() *InspectConfig {
if m != nil {
return m.InspectConfig
}
return nil
}
func (m *RedactImageRequest) GetImageRedactionConfigs() []*RedactImageRequest_ImageRedactionConfig {
if m != nil {
return m.ImageRedactionConfigs
}
return nil
}
func (m *RedactImageRequest) GetIncludeFindings() bool {
if m != nil {
return m.IncludeFindings
}
return false
}
func (m *RedactImageRequest) GetByteItem() *ByteContentItem {
if m != nil {
return m.ByteItem
}
return nil
}
// Configuration for determining how redaction of images should occur.
type RedactImageRequest_ImageRedactionConfig struct {
// Type of information to redact from images.
//
// Types that are valid to be assigned to Target:
// *RedactImageRequest_ImageRedactionConfig_InfoType
// *RedactImageRequest_ImageRedactionConfig_RedactAllText
Target isRedactImageRequest_ImageRedactionConfig_Target `protobuf_oneof:"target"`
// The color to use when redacting content from an image. If not specified,
// the default is black.
RedactionColor *Color `protobuf:"bytes,3,opt,name=redaction_color,json=redactionColor,proto3" json:"redaction_color,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RedactImageRequest_ImageRedactionConfig) Reset() {
*m = RedactImageRequest_ImageRedactionConfig{}
}
func (m *RedactImageRequest_ImageRedactionConfig) String() string { return proto.CompactTextString(m) }
func (*RedactImageRequest_ImageRedactionConfig) ProtoMessage() {}
func (*RedactImageRequest_ImageRedactionConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{14, 0}
}
func (m *RedactImageRequest_ImageRedactionConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Unmarshal(m, b)
}
func (m *RedactImageRequest_ImageRedactionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Marshal(b, m, deterministic)
}
func (dst *RedactImageRequest_ImageRedactionConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Merge(dst, src)
}
func (m *RedactImageRequest_ImageRedactionConfig) XXX_Size() int {
return xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.Size(m)
}
func (m *RedactImageRequest_ImageRedactionConfig) XXX_DiscardUnknown() {
xxx_messageInfo_RedactImageRequest_ImageRedactionConfig.DiscardUnknown(m)
}
var xxx_messageInfo_RedactImageRequest_ImageRedactionConfig proto.InternalMessageInfo
type isRedactImageRequest_ImageRedactionConfig_Target interface {
isRedactImageRequest_ImageRedactionConfig_Target()
}
type RedactImageRequest_ImageRedactionConfig_InfoType struct {
InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3,oneof"`
}
type RedactImageRequest_ImageRedactionConfig_RedactAllText struct {
RedactAllText bool `protobuf:"varint,2,opt,name=redact_all_text,json=redactAllText,proto3,oneof"`
}
func (*RedactImageRequest_ImageRedactionConfig_InfoType) isRedactImageRequest_ImageRedactionConfig_Target() {
}
func (*RedactImageRequest_ImageRedactionConfig_RedactAllText) isRedactImageRequest_ImageRedactionConfig_Target() {
}
func (m *RedactImageRequest_ImageRedactionConfig) GetTarget() isRedactImageRequest_ImageRedactionConfig_Target {
if m != nil {
return m.Target
}
return nil
}
func (m *RedactImageRequest_ImageRedactionConfig) GetInfoType() *InfoType {
if x, ok := m.GetTarget().(*RedactImageRequest_ImageRedactionConfig_InfoType); ok {
return x.InfoType
}
return nil
}
func (m *RedactImageRequest_ImageRedactionConfig) GetRedactAllText() bool {
if x, ok := m.GetTarget().(*RedactImageRequest_ImageRedactionConfig_RedactAllText); ok {
return x.RedactAllText
}
return false
}
func (m *RedactImageRequest_ImageRedactionConfig) GetRedactionColor() *Color {
if m != nil {
return m.RedactionColor
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*RedactImageRequest_ImageRedactionConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _RedactImageRequest_ImageRedactionConfig_OneofMarshaler, _RedactImageRequest_ImageRedactionConfig_OneofUnmarshaler, _RedactImageRequest_ImageRedactionConfig_OneofSizer, []interface{}{
(*RedactImageRequest_ImageRedactionConfig_InfoType)(nil),
(*RedactImageRequest_ImageRedactionConfig_RedactAllText)(nil),
}
}
func _RedactImageRequest_ImageRedactionConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*RedactImageRequest_ImageRedactionConfig)
// target
switch x := m.Target.(type) {
case *RedactImageRequest_ImageRedactionConfig_InfoType:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InfoType); err != nil {
return err
}
case *RedactImageRequest_ImageRedactionConfig_RedactAllText:
t := uint64(0)
if x.RedactAllText {
t = 1
}
b.EncodeVarint(2<<3 | proto.WireVarint)
b.EncodeVarint(t)
case nil:
default:
return fmt.Errorf("RedactImageRequest_ImageRedactionConfig.Target has unexpected type %T", x)
}
return nil
}
func _RedactImageRequest_ImageRedactionConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*RedactImageRequest_ImageRedactionConfig)
switch tag {
case 1: // target.info_type
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InfoType)
err := b.DecodeMessage(msg)
m.Target = &RedactImageRequest_ImageRedactionConfig_InfoType{msg}
return true, err
case 2: // target.redact_all_text
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Target = &RedactImageRequest_ImageRedactionConfig_RedactAllText{x != 0}
return true, err
default:
return false, nil
}
}
func _RedactImageRequest_ImageRedactionConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*RedactImageRequest_ImageRedactionConfig)
// target
switch x := m.Target.(type) {
case *RedactImageRequest_ImageRedactionConfig_InfoType:
s := proto.Size(x.InfoType)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *RedactImageRequest_ImageRedactionConfig_RedactAllText:
n += 1 // tag and wire
n += 1
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Represents a color in the RGB color space.
type Color struct {
// The amount of red in the color as a value in the interval [0, 1].
Red float32 `protobuf:"fixed32,1,opt,name=red,proto3" json:"red,omitempty"`
// The amount of green in the color as a value in the interval [0, 1].
Green float32 `protobuf:"fixed32,2,opt,name=green,proto3" json:"green,omitempty"`
// The amount of blue in the color as a value in the interval [0, 1].
Blue float32 `protobuf:"fixed32,3,opt,name=blue,proto3" json:"blue,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Color) Reset() { *m = Color{} }
func (m *Color) String() string { return proto.CompactTextString(m) }
func (*Color) ProtoMessage() {}
func (*Color) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{15}
}
func (m *Color) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Color.Unmarshal(m, b)
}
func (m *Color) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Color.Marshal(b, m, deterministic)
}
func (dst *Color) XXX_Merge(src proto.Message) {
xxx_messageInfo_Color.Merge(dst, src)
}
func (m *Color) XXX_Size() int {
return xxx_messageInfo_Color.Size(m)
}
func (m *Color) XXX_DiscardUnknown() {
xxx_messageInfo_Color.DiscardUnknown(m)
}
var xxx_messageInfo_Color proto.InternalMessageInfo
func (m *Color) GetRed() float32 {
if m != nil {
return m.Red
}
return 0
}
func (m *Color) GetGreen() float32 {
if m != nil {
return m.Green
}
return 0
}
func (m *Color) GetBlue() float32 {
if m != nil {
return m.Blue
}
return 0
}
// Results of redacting an image.
type RedactImageResponse struct {
// The redacted image. The type will be the same as the original image.
RedactedImage []byte `protobuf:"bytes,1,opt,name=redacted_image,json=redactedImage,proto3" json:"redacted_image,omitempty"`
// If an image was being inspected and the InspectConfig's include_quote was
// set to true, then this field will include all text, if any, that was found
// in the image.
ExtractedText string `protobuf:"bytes,2,opt,name=extracted_text,json=extractedText,proto3" json:"extracted_text,omitempty"`
// The findings. Populated when include_findings in the request is true.
InspectResult *InspectResult `protobuf:"bytes,3,opt,name=inspect_result,json=inspectResult,proto3" json:"inspect_result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RedactImageResponse) Reset() { *m = RedactImageResponse{} }
func (m *RedactImageResponse) String() string { return proto.CompactTextString(m) }
func (*RedactImageResponse) ProtoMessage() {}
func (*RedactImageResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{16}
}
func (m *RedactImageResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RedactImageResponse.Unmarshal(m, b)
}
func (m *RedactImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RedactImageResponse.Marshal(b, m, deterministic)
}
func (dst *RedactImageResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_RedactImageResponse.Merge(dst, src)
}
func (m *RedactImageResponse) XXX_Size() int {
return xxx_messageInfo_RedactImageResponse.Size(m)
}
func (m *RedactImageResponse) XXX_DiscardUnknown() {
xxx_messageInfo_RedactImageResponse.DiscardUnknown(m)
}
var xxx_messageInfo_RedactImageResponse proto.InternalMessageInfo
func (m *RedactImageResponse) GetRedactedImage() []byte {
if m != nil {
return m.RedactedImage
}
return nil
}
func (m *RedactImageResponse) GetExtractedText() string {
if m != nil {
return m.ExtractedText
}
return ""
}
func (m *RedactImageResponse) GetInspectResult() *InspectResult {
if m != nil {
return m.InspectResult
}
return nil
}
// Request to de-identify a list of items.
type DeidentifyContentRequest struct {
// The parent resource name, for example projects/my-project-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Configuration for the de-identification of the content item.
// Items specified here will override the template referenced by the
// deidentify_template_name argument.
DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"`
// Configuration for the inspector.
// Items specified here will override the template referenced by the
// inspect_template_name argument.
InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
// The item to de-identify. Will be treated as text.
Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"`
// Optional template to use. Any configuration directly specified in
// inspect_config will override those set in the template. Singular fields
// that are set in this request will replace their corresponding fields in the
// template. Repeated fields are appended. Singular sub-messages and groups
// are recursively merged.
InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
// Optional template to use. Any configuration directly specified in
// deidentify_config will override those set in the template. Singular fields
// that are set in this request will replace their corresponding fields in the
// template. Repeated fields are appended. Singular sub-messages and groups
// are recursively merged.
DeidentifyTemplateName string `protobuf:"bytes,6,opt,name=deidentify_template_name,json=deidentifyTemplateName,proto3" json:"deidentify_template_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeidentifyContentRequest) Reset() { *m = DeidentifyContentRequest{} }
func (m *DeidentifyContentRequest) String() string { return proto.CompactTextString(m) }
func (*DeidentifyContentRequest) ProtoMessage() {}
func (*DeidentifyContentRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{17}
}
func (m *DeidentifyContentRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeidentifyContentRequest.Unmarshal(m, b)
}
func (m *DeidentifyContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeidentifyContentRequest.Marshal(b, m, deterministic)
}
func (dst *DeidentifyContentRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeidentifyContentRequest.Merge(dst, src)
}
func (m *DeidentifyContentRequest) XXX_Size() int {
return xxx_messageInfo_DeidentifyContentRequest.Size(m)
}
func (m *DeidentifyContentRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeidentifyContentRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeidentifyContentRequest proto.InternalMessageInfo
func (m *DeidentifyContentRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *DeidentifyContentRequest) GetDeidentifyConfig() *DeidentifyConfig {
if m != nil {
return m.DeidentifyConfig
}
return nil
}
func (m *DeidentifyContentRequest) GetInspectConfig() *InspectConfig {
if m != nil {
return m.InspectConfig
}
return nil
}
func (m *DeidentifyContentRequest) GetItem() *ContentItem {
if m != nil {
return m.Item
}
return nil
}
func (m *DeidentifyContentRequest) GetInspectTemplateName() string {
if m != nil {
return m.InspectTemplateName
}
return ""
}
func (m *DeidentifyContentRequest) GetDeidentifyTemplateName() string {
if m != nil {
return m.DeidentifyTemplateName
}
return ""
}
// Results of de-identifying a ContentItem.
type DeidentifyContentResponse struct {
// The de-identified item.
Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
// An overview of the changes that were made on the `item`.
Overview *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeidentifyContentResponse) Reset() { *m = DeidentifyContentResponse{} }
func (m *DeidentifyContentResponse) String() string { return proto.CompactTextString(m) }
func (*DeidentifyContentResponse) ProtoMessage() {}
func (*DeidentifyContentResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{18}
}
func (m *DeidentifyContentResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeidentifyContentResponse.Unmarshal(m, b)
}
func (m *DeidentifyContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeidentifyContentResponse.Marshal(b, m, deterministic)
}
func (dst *DeidentifyContentResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeidentifyContentResponse.Merge(dst, src)
}
func (m *DeidentifyContentResponse) XXX_Size() int {
return xxx_messageInfo_DeidentifyContentResponse.Size(m)
}
func (m *DeidentifyContentResponse) XXX_DiscardUnknown() {
xxx_messageInfo_DeidentifyContentResponse.DiscardUnknown(m)
}
var xxx_messageInfo_DeidentifyContentResponse proto.InternalMessageInfo
func (m *DeidentifyContentResponse) GetItem() *ContentItem {
if m != nil {
return m.Item
}
return nil
}
func (m *DeidentifyContentResponse) GetOverview() *TransformationOverview {
if m != nil {
return m.Overview
}
return nil
}
// Request to re-identify an item.
type ReidentifyContentRequest struct {
// The parent resource name.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Configuration for the re-identification of the content item.
// This field shares the same proto message type that is used for
// de-identification, however its usage here is for the reversal of the
// previous de-identification. Re-identification is performed by examining
// the transformations used to de-identify the items and executing the
// reverse. This requires that only reversible transformations
// be provided here. The reversible transformations are:
//
// - `CryptoReplaceFfxFpeConfig`
ReidentifyConfig *DeidentifyConfig `protobuf:"bytes,2,opt,name=reidentify_config,json=reidentifyConfig,proto3" json:"reidentify_config,omitempty"`
// Configuration for the inspector.
InspectConfig *InspectConfig `protobuf:"bytes,3,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
// The item to re-identify. Will be treated as text.
Item *ContentItem `protobuf:"bytes,4,opt,name=item,proto3" json:"item,omitempty"`
// Optional template to use. Any configuration directly specified in
// `inspect_config` will override those set in the template. Singular fields
// that are set in this request will replace their corresponding fields in the
// template. Repeated fields are appended. Singular sub-messages and groups
// are recursively merged.
InspectTemplateName string `protobuf:"bytes,5,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
// Optional template to use. References an instance of `DeidentifyTemplate`.
// Any configuration directly specified in `reidentify_config` or
// `inspect_config` will override those set in the template. Singular fields
// that are set in this request will replace their corresponding fields in the
// template. Repeated fields are appended. Singular sub-messages and groups
// are recursively merged.
ReidentifyTemplateName string `protobuf:"bytes,6,opt,name=reidentify_template_name,json=reidentifyTemplateName,proto3" json:"reidentify_template_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReidentifyContentRequest) Reset() { *m = ReidentifyContentRequest{} }
func (m *ReidentifyContentRequest) String() string { return proto.CompactTextString(m) }
func (*ReidentifyContentRequest) ProtoMessage() {}
func (*ReidentifyContentRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{19}
}
func (m *ReidentifyContentRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReidentifyContentRequest.Unmarshal(m, b)
}
func (m *ReidentifyContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReidentifyContentRequest.Marshal(b, m, deterministic)
}
func (dst *ReidentifyContentRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReidentifyContentRequest.Merge(dst, src)
}
func (m *ReidentifyContentRequest) XXX_Size() int {
return xxx_messageInfo_ReidentifyContentRequest.Size(m)
}
func (m *ReidentifyContentRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ReidentifyContentRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ReidentifyContentRequest proto.InternalMessageInfo
func (m *ReidentifyContentRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ReidentifyContentRequest) GetReidentifyConfig() *DeidentifyConfig {
if m != nil {
return m.ReidentifyConfig
}
return nil
}
func (m *ReidentifyContentRequest) GetInspectConfig() *InspectConfig {
if m != nil {
return m.InspectConfig
}
return nil
}
func (m *ReidentifyContentRequest) GetItem() *ContentItem {
if m != nil {
return m.Item
}
return nil
}
func (m *ReidentifyContentRequest) GetInspectTemplateName() string {
if m != nil {
return m.InspectTemplateName
}
return ""
}
func (m *ReidentifyContentRequest) GetReidentifyTemplateName() string {
if m != nil {
return m.ReidentifyTemplateName
}
return ""
}
// Results of re-identifying a item.
type ReidentifyContentResponse struct {
// The re-identified item.
Item *ContentItem `protobuf:"bytes,1,opt,name=item,proto3" json:"item,omitempty"`
// An overview of the changes that were made to the `item`.
Overview *TransformationOverview `protobuf:"bytes,2,opt,name=overview,proto3" json:"overview,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReidentifyContentResponse) Reset() { *m = ReidentifyContentResponse{} }
func (m *ReidentifyContentResponse) String() string { return proto.CompactTextString(m) }
func (*ReidentifyContentResponse) ProtoMessage() {}
func (*ReidentifyContentResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{20}
}
func (m *ReidentifyContentResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReidentifyContentResponse.Unmarshal(m, b)
}
func (m *ReidentifyContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReidentifyContentResponse.Marshal(b, m, deterministic)
}
func (dst *ReidentifyContentResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReidentifyContentResponse.Merge(dst, src)
}
func (m *ReidentifyContentResponse) XXX_Size() int {
return xxx_messageInfo_ReidentifyContentResponse.Size(m)
}
func (m *ReidentifyContentResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ReidentifyContentResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ReidentifyContentResponse proto.InternalMessageInfo
func (m *ReidentifyContentResponse) GetItem() *ContentItem {
if m != nil {
return m.Item
}
return nil
}
func (m *ReidentifyContentResponse) GetOverview() *TransformationOverview {
if m != nil {
return m.Overview
}
return nil
}
// Request to search for potentially sensitive info in a ContentItem.
type InspectContentRequest struct {
// The parent resource name, for example projects/my-project-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Configuration for the inspector. What specified here will override
// the template referenced by the inspect_template_name argument.
InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
// The item to inspect.
Item *ContentItem `protobuf:"bytes,3,opt,name=item,proto3" json:"item,omitempty"`
// Optional template to use. Any configuration directly specified in
// inspect_config will override those set in the template. Singular fields
// that are set in this request will replace their corresponding fields in the
// template. Repeated fields are appended. Singular sub-messages and groups
// are recursively merged.
InspectTemplateName string `protobuf:"bytes,4,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectContentRequest) Reset() { *m = InspectContentRequest{} }
func (m *InspectContentRequest) String() string { return proto.CompactTextString(m) }
func (*InspectContentRequest) ProtoMessage() {}
func (*InspectContentRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{21}
}
func (m *InspectContentRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectContentRequest.Unmarshal(m, b)
}
func (m *InspectContentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectContentRequest.Marshal(b, m, deterministic)
}
func (dst *InspectContentRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectContentRequest.Merge(dst, src)
}
func (m *InspectContentRequest) XXX_Size() int {
return xxx_messageInfo_InspectContentRequest.Size(m)
}
func (m *InspectContentRequest) XXX_DiscardUnknown() {
xxx_messageInfo_InspectContentRequest.DiscardUnknown(m)
}
var xxx_messageInfo_InspectContentRequest proto.InternalMessageInfo
func (m *InspectContentRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *InspectContentRequest) GetInspectConfig() *InspectConfig {
if m != nil {
return m.InspectConfig
}
return nil
}
func (m *InspectContentRequest) GetItem() *ContentItem {
if m != nil {
return m.Item
}
return nil
}
func (m *InspectContentRequest) GetInspectTemplateName() string {
if m != nil {
return m.InspectTemplateName
}
return ""
}
// Results of inspecting an item.
type InspectContentResponse struct {
// The findings.
Result *InspectResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectContentResponse) Reset() { *m = InspectContentResponse{} }
func (m *InspectContentResponse) String() string { return proto.CompactTextString(m) }
func (*InspectContentResponse) ProtoMessage() {}
func (*InspectContentResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{22}
}
func (m *InspectContentResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectContentResponse.Unmarshal(m, b)
}
func (m *InspectContentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectContentResponse.Marshal(b, m, deterministic)
}
func (dst *InspectContentResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectContentResponse.Merge(dst, src)
}
func (m *InspectContentResponse) XXX_Size() int {
return xxx_messageInfo_InspectContentResponse.Size(m)
}
func (m *InspectContentResponse) XXX_DiscardUnknown() {
xxx_messageInfo_InspectContentResponse.DiscardUnknown(m)
}
var xxx_messageInfo_InspectContentResponse proto.InternalMessageInfo
func (m *InspectContentResponse) GetResult() *InspectResult {
if m != nil {
return m.Result
}
return nil
}
// Cloud repository for storing output.
type OutputStorageConfig struct {
// Types that are valid to be assigned to Type:
// *OutputStorageConfig_Table
Type isOutputStorageConfig_Type `protobuf_oneof:"type"`
// Schema used for writing the findings for Inspect jobs. This field is only
// used for Inspect and must be unspecified for Risk jobs. Columns are derived
// from the `Finding` object. If appending to an existing table, any columns
// from the predefined schema that are missing will be added. No columns in
// the existing table will be deleted.
//
// If unspecified, then all available columns will be used for a new table,
// and no changes will be made to an existing table.
OutputSchema OutputStorageConfig_OutputSchema `protobuf:"varint,3,opt,name=output_schema,json=outputSchema,proto3,enum=google.privacy.dlp.v2.OutputStorageConfig_OutputSchema" json:"output_schema,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OutputStorageConfig) Reset() { *m = OutputStorageConfig{} }
func (m *OutputStorageConfig) String() string { return proto.CompactTextString(m) }
func (*OutputStorageConfig) ProtoMessage() {}
func (*OutputStorageConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{23}
}
func (m *OutputStorageConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OutputStorageConfig.Unmarshal(m, b)
}
func (m *OutputStorageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OutputStorageConfig.Marshal(b, m, deterministic)
}
func (dst *OutputStorageConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_OutputStorageConfig.Merge(dst, src)
}
func (m *OutputStorageConfig) XXX_Size() int {
return xxx_messageInfo_OutputStorageConfig.Size(m)
}
func (m *OutputStorageConfig) XXX_DiscardUnknown() {
xxx_messageInfo_OutputStorageConfig.DiscardUnknown(m)
}
var xxx_messageInfo_OutputStorageConfig proto.InternalMessageInfo
type isOutputStorageConfig_Type interface {
isOutputStorageConfig_Type()
}
type OutputStorageConfig_Table struct {
Table *BigQueryTable `protobuf:"bytes,1,opt,name=table,proto3,oneof"`
}
func (*OutputStorageConfig_Table) isOutputStorageConfig_Type() {}
func (m *OutputStorageConfig) GetType() isOutputStorageConfig_Type {
if m != nil {
return m.Type
}
return nil
}
func (m *OutputStorageConfig) GetTable() *BigQueryTable {
if x, ok := m.GetType().(*OutputStorageConfig_Table); ok {
return x.Table
}
return nil
}
func (m *OutputStorageConfig) GetOutputSchema() OutputStorageConfig_OutputSchema {
if m != nil {
return m.OutputSchema
}
return OutputStorageConfig_OUTPUT_SCHEMA_UNSPECIFIED
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*OutputStorageConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _OutputStorageConfig_OneofMarshaler, _OutputStorageConfig_OneofUnmarshaler, _OutputStorageConfig_OneofSizer, []interface{}{
(*OutputStorageConfig_Table)(nil),
}
}
func _OutputStorageConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*OutputStorageConfig)
// type
switch x := m.Type.(type) {
case *OutputStorageConfig_Table:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Table); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("OutputStorageConfig.Type has unexpected type %T", x)
}
return nil
}
func _OutputStorageConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*OutputStorageConfig)
switch tag {
case 1: // type.table
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(BigQueryTable)
err := b.DecodeMessage(msg)
m.Type = &OutputStorageConfig_Table{msg}
return true, err
default:
return false, nil
}
}
func _OutputStorageConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*OutputStorageConfig)
// type
switch x := m.Type.(type) {
case *OutputStorageConfig_Table:
s := proto.Size(x.Table)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Statistics regarding a specific InfoType.
type InfoTypeStats struct {
// The type of finding this stat is for.
InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
// Number of findings for this infoType.
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InfoTypeStats) Reset() { *m = InfoTypeStats{} }
func (m *InfoTypeStats) String() string { return proto.CompactTextString(m) }
func (*InfoTypeStats) ProtoMessage() {}
func (*InfoTypeStats) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{24}
}
func (m *InfoTypeStats) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InfoTypeStats.Unmarshal(m, b)
}
func (m *InfoTypeStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InfoTypeStats.Marshal(b, m, deterministic)
}
func (dst *InfoTypeStats) XXX_Merge(src proto.Message) {
xxx_messageInfo_InfoTypeStats.Merge(dst, src)
}
func (m *InfoTypeStats) XXX_Size() int {
return xxx_messageInfo_InfoTypeStats.Size(m)
}
func (m *InfoTypeStats) XXX_DiscardUnknown() {
xxx_messageInfo_InfoTypeStats.DiscardUnknown(m)
}
var xxx_messageInfo_InfoTypeStats proto.InternalMessageInfo
func (m *InfoTypeStats) GetInfoType() *InfoType {
if m != nil {
return m.InfoType
}
return nil
}
func (m *InfoTypeStats) GetCount() int64 {
if m != nil {
return m.Count
}
return 0
}
// The results of an inspect DataSource job.
type InspectDataSourceDetails struct {
// The configuration used for this job.
RequestedOptions *InspectDataSourceDetails_RequestedOptions `protobuf:"bytes,2,opt,name=requested_options,json=requestedOptions,proto3" json:"requested_options,omitempty"`
// A summary of the outcome of this inspect job.
Result *InspectDataSourceDetails_Result `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectDataSourceDetails) Reset() { *m = InspectDataSourceDetails{} }
func (m *InspectDataSourceDetails) String() string { return proto.CompactTextString(m) }
func (*InspectDataSourceDetails) ProtoMessage() {}
func (*InspectDataSourceDetails) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{25}
}
func (m *InspectDataSourceDetails) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectDataSourceDetails.Unmarshal(m, b)
}
func (m *InspectDataSourceDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectDataSourceDetails.Marshal(b, m, deterministic)
}
func (dst *InspectDataSourceDetails) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectDataSourceDetails.Merge(dst, src)
}
func (m *InspectDataSourceDetails) XXX_Size() int {
return xxx_messageInfo_InspectDataSourceDetails.Size(m)
}
func (m *InspectDataSourceDetails) XXX_DiscardUnknown() {
xxx_messageInfo_InspectDataSourceDetails.DiscardUnknown(m)
}
var xxx_messageInfo_InspectDataSourceDetails proto.InternalMessageInfo
func (m *InspectDataSourceDetails) GetRequestedOptions() *InspectDataSourceDetails_RequestedOptions {
if m != nil {
return m.RequestedOptions
}
return nil
}
func (m *InspectDataSourceDetails) GetResult() *InspectDataSourceDetails_Result {
if m != nil {
return m.Result
}
return nil
}
type InspectDataSourceDetails_RequestedOptions struct {
// If run with an InspectTemplate, a snapshot of its state at the time of
// this run.
SnapshotInspectTemplate *InspectTemplate `protobuf:"bytes,1,opt,name=snapshot_inspect_template,json=snapshotInspectTemplate,proto3" json:"snapshot_inspect_template,omitempty"`
JobConfig *InspectJobConfig `protobuf:"bytes,3,opt,name=job_config,json=jobConfig,proto3" json:"job_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectDataSourceDetails_RequestedOptions) Reset() {
*m = InspectDataSourceDetails_RequestedOptions{}
}
func (m *InspectDataSourceDetails_RequestedOptions) String() string { return proto.CompactTextString(m) }
func (*InspectDataSourceDetails_RequestedOptions) ProtoMessage() {}
func (*InspectDataSourceDetails_RequestedOptions) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{25, 0}
}
func (m *InspectDataSourceDetails_RequestedOptions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Unmarshal(m, b)
}
func (m *InspectDataSourceDetails_RequestedOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Marshal(b, m, deterministic)
}
func (dst *InspectDataSourceDetails_RequestedOptions) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Merge(dst, src)
}
func (m *InspectDataSourceDetails_RequestedOptions) XXX_Size() int {
return xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.Size(m)
}
func (m *InspectDataSourceDetails_RequestedOptions) XXX_DiscardUnknown() {
xxx_messageInfo_InspectDataSourceDetails_RequestedOptions.DiscardUnknown(m)
}
var xxx_messageInfo_InspectDataSourceDetails_RequestedOptions proto.InternalMessageInfo
func (m *InspectDataSourceDetails_RequestedOptions) GetSnapshotInspectTemplate() *InspectTemplate {
if m != nil {
return m.SnapshotInspectTemplate
}
return nil
}
func (m *InspectDataSourceDetails_RequestedOptions) GetJobConfig() *InspectJobConfig {
if m != nil {
return m.JobConfig
}
return nil
}
type InspectDataSourceDetails_Result struct {
// Total size in bytes that were processed.
ProcessedBytes int64 `protobuf:"varint,1,opt,name=processed_bytes,json=processedBytes,proto3" json:"processed_bytes,omitempty"`
// Estimate of the number of bytes to process.
TotalEstimatedBytes int64 `protobuf:"varint,2,opt,name=total_estimated_bytes,json=totalEstimatedBytes,proto3" json:"total_estimated_bytes,omitempty"`
// Statistics of how many instances of each info type were found during
// inspect job.
InfoTypeStats []*InfoTypeStats `protobuf:"bytes,3,rep,name=info_type_stats,json=infoTypeStats,proto3" json:"info_type_stats,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectDataSourceDetails_Result) Reset() { *m = InspectDataSourceDetails_Result{} }
func (m *InspectDataSourceDetails_Result) String() string { return proto.CompactTextString(m) }
func (*InspectDataSourceDetails_Result) ProtoMessage() {}
func (*InspectDataSourceDetails_Result) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{25, 1}
}
func (m *InspectDataSourceDetails_Result) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectDataSourceDetails_Result.Unmarshal(m, b)
}
func (m *InspectDataSourceDetails_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectDataSourceDetails_Result.Marshal(b, m, deterministic)
}
func (dst *InspectDataSourceDetails_Result) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectDataSourceDetails_Result.Merge(dst, src)
}
func (m *InspectDataSourceDetails_Result) XXX_Size() int {
return xxx_messageInfo_InspectDataSourceDetails_Result.Size(m)
}
func (m *InspectDataSourceDetails_Result) XXX_DiscardUnknown() {
xxx_messageInfo_InspectDataSourceDetails_Result.DiscardUnknown(m)
}
var xxx_messageInfo_InspectDataSourceDetails_Result proto.InternalMessageInfo
func (m *InspectDataSourceDetails_Result) GetProcessedBytes() int64 {
if m != nil {
return m.ProcessedBytes
}
return 0
}
func (m *InspectDataSourceDetails_Result) GetTotalEstimatedBytes() int64 {
if m != nil {
return m.TotalEstimatedBytes
}
return 0
}
func (m *InspectDataSourceDetails_Result) GetInfoTypeStats() []*InfoTypeStats {
if m != nil {
return m.InfoTypeStats
}
return nil
}
// InfoType description.
type InfoTypeDescription struct {
// Internal name of the infoType.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Human readable form of the infoType name.
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// Which parts of the API supports this InfoType.
SupportedBy []InfoTypeSupportedBy `protobuf:"varint,3,rep,packed,name=supported_by,json=supportedBy,proto3,enum=google.privacy.dlp.v2.InfoTypeSupportedBy" json:"supported_by,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InfoTypeDescription) Reset() { *m = InfoTypeDescription{} }
func (m *InfoTypeDescription) String() string { return proto.CompactTextString(m) }
func (*InfoTypeDescription) ProtoMessage() {}
func (*InfoTypeDescription) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{26}
}
func (m *InfoTypeDescription) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InfoTypeDescription.Unmarshal(m, b)
}
func (m *InfoTypeDescription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InfoTypeDescription.Marshal(b, m, deterministic)
}
func (dst *InfoTypeDescription) XXX_Merge(src proto.Message) {
xxx_messageInfo_InfoTypeDescription.Merge(dst, src)
}
func (m *InfoTypeDescription) XXX_Size() int {
return xxx_messageInfo_InfoTypeDescription.Size(m)
}
func (m *InfoTypeDescription) XXX_DiscardUnknown() {
xxx_messageInfo_InfoTypeDescription.DiscardUnknown(m)
}
var xxx_messageInfo_InfoTypeDescription proto.InternalMessageInfo
func (m *InfoTypeDescription) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *InfoTypeDescription) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *InfoTypeDescription) GetSupportedBy() []InfoTypeSupportedBy {
if m != nil {
return m.SupportedBy
}
return nil
}
// Request for the list of infoTypes.
type ListInfoTypesRequest struct {
// Optional BCP-47 language code for localized infoType friendly
// names. If omitted, or if localized strings are not available,
// en-US strings will be returned.
LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
// Optional filter to only return infoTypes supported by certain parts of the
// API. Defaults to supported_by=INSPECT.
Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListInfoTypesRequest) Reset() { *m = ListInfoTypesRequest{} }
func (m *ListInfoTypesRequest) String() string { return proto.CompactTextString(m) }
func (*ListInfoTypesRequest) ProtoMessage() {}
func (*ListInfoTypesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{27}
}
func (m *ListInfoTypesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInfoTypesRequest.Unmarshal(m, b)
}
func (m *ListInfoTypesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListInfoTypesRequest.Marshal(b, m, deterministic)
}
func (dst *ListInfoTypesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListInfoTypesRequest.Merge(dst, src)
}
func (m *ListInfoTypesRequest) XXX_Size() int {
return xxx_messageInfo_ListInfoTypesRequest.Size(m)
}
func (m *ListInfoTypesRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListInfoTypesRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListInfoTypesRequest proto.InternalMessageInfo
func (m *ListInfoTypesRequest) GetLanguageCode() string {
if m != nil {
return m.LanguageCode
}
return ""
}
func (m *ListInfoTypesRequest) GetFilter() string {
if m != nil {
return m.Filter
}
return ""
}
// Response to the ListInfoTypes request.
type ListInfoTypesResponse struct {
// Set of sensitive infoTypes.
InfoTypes []*InfoTypeDescription `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListInfoTypesResponse) Reset() { *m = ListInfoTypesResponse{} }
func (m *ListInfoTypesResponse) String() string { return proto.CompactTextString(m) }
func (*ListInfoTypesResponse) ProtoMessage() {}
func (*ListInfoTypesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{28}
}
func (m *ListInfoTypesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInfoTypesResponse.Unmarshal(m, b)
}
func (m *ListInfoTypesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListInfoTypesResponse.Marshal(b, m, deterministic)
}
func (dst *ListInfoTypesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListInfoTypesResponse.Merge(dst, src)
}
func (m *ListInfoTypesResponse) XXX_Size() int {
return xxx_messageInfo_ListInfoTypesResponse.Size(m)
}
func (m *ListInfoTypesResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListInfoTypesResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListInfoTypesResponse proto.InternalMessageInfo
func (m *ListInfoTypesResponse) GetInfoTypes() []*InfoTypeDescription {
if m != nil {
return m.InfoTypes
}
return nil
}
// Configuration for a risk analysis job. See
// https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more.
type RiskAnalysisJobConfig struct {
// Privacy metric to compute.
PrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=privacy_metric,json=privacyMetric,proto3" json:"privacy_metric,omitempty"`
// Input dataset to compute metrics over.
SourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=source_table,json=sourceTable,proto3" json:"source_table,omitempty"`
// Actions to execute at the completion of the job. Are executed in the order
// provided.
Actions []*Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RiskAnalysisJobConfig) Reset() { *m = RiskAnalysisJobConfig{} }
func (m *RiskAnalysisJobConfig) String() string { return proto.CompactTextString(m) }
func (*RiskAnalysisJobConfig) ProtoMessage() {}
func (*RiskAnalysisJobConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{29}
}
func (m *RiskAnalysisJobConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RiskAnalysisJobConfig.Unmarshal(m, b)
}
func (m *RiskAnalysisJobConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RiskAnalysisJobConfig.Marshal(b, m, deterministic)
}
func (dst *RiskAnalysisJobConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RiskAnalysisJobConfig.Merge(dst, src)
}
func (m *RiskAnalysisJobConfig) XXX_Size() int {
return xxx_messageInfo_RiskAnalysisJobConfig.Size(m)
}
func (m *RiskAnalysisJobConfig) XXX_DiscardUnknown() {
xxx_messageInfo_RiskAnalysisJobConfig.DiscardUnknown(m)
}
var xxx_messageInfo_RiskAnalysisJobConfig proto.InternalMessageInfo
func (m *RiskAnalysisJobConfig) GetPrivacyMetric() *PrivacyMetric {
if m != nil {
return m.PrivacyMetric
}
return nil
}
func (m *RiskAnalysisJobConfig) GetSourceTable() *BigQueryTable {
if m != nil {
return m.SourceTable
}
return nil
}
func (m *RiskAnalysisJobConfig) GetActions() []*Action {
if m != nil {
return m.Actions
}
return nil
}
// A column with a semantic tag attached.
type QuasiId struct {
// Identifies the column. [required]
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
// Semantic tag that identifies what a column contains, to determine which
// statistical model to use to estimate the reidentifiability of each
// value. [required]
//
// Types that are valid to be assigned to Tag:
// *QuasiId_InfoType
// *QuasiId_CustomTag
// *QuasiId_Inferred
Tag isQuasiId_Tag `protobuf_oneof:"tag"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *QuasiId) Reset() { *m = QuasiId{} }
func (m *QuasiId) String() string { return proto.CompactTextString(m) }
func (*QuasiId) ProtoMessage() {}
func (*QuasiId) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{30}
}
func (m *QuasiId) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QuasiId.Unmarshal(m, b)
}
func (m *QuasiId) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_QuasiId.Marshal(b, m, deterministic)
}
func (dst *QuasiId) XXX_Merge(src proto.Message) {
xxx_messageInfo_QuasiId.Merge(dst, src)
}
func (m *QuasiId) XXX_Size() int {
return xxx_messageInfo_QuasiId.Size(m)
}
func (m *QuasiId) XXX_DiscardUnknown() {
xxx_messageInfo_QuasiId.DiscardUnknown(m)
}
var xxx_messageInfo_QuasiId proto.InternalMessageInfo
func (m *QuasiId) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
type isQuasiId_Tag interface {
isQuasiId_Tag()
}
type QuasiId_InfoType struct {
InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"`
}
type QuasiId_CustomTag struct {
CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"`
}
type QuasiId_Inferred struct {
Inferred *empty.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"`
}
func (*QuasiId_InfoType) isQuasiId_Tag() {}
func (*QuasiId_CustomTag) isQuasiId_Tag() {}
func (*QuasiId_Inferred) isQuasiId_Tag() {}
func (m *QuasiId) GetTag() isQuasiId_Tag {
if m != nil {
return m.Tag
}
return nil
}
func (m *QuasiId) GetInfoType() *InfoType {
if x, ok := m.GetTag().(*QuasiId_InfoType); ok {
return x.InfoType
}
return nil
}
func (m *QuasiId) GetCustomTag() string {
if x, ok := m.GetTag().(*QuasiId_CustomTag); ok {
return x.CustomTag
}
return ""
}
func (m *QuasiId) GetInferred() *empty.Empty {
if x, ok := m.GetTag().(*QuasiId_Inferred); ok {
return x.Inferred
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*QuasiId) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _QuasiId_OneofMarshaler, _QuasiId_OneofUnmarshaler, _QuasiId_OneofSizer, []interface{}{
(*QuasiId_InfoType)(nil),
(*QuasiId_CustomTag)(nil),
(*QuasiId_Inferred)(nil),
}
}
func _QuasiId_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*QuasiId)
// tag
switch x := m.Tag.(type) {
case *QuasiId_InfoType:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InfoType); err != nil {
return err
}
case *QuasiId_CustomTag:
b.EncodeVarint(3<<3 | proto.WireBytes)
b.EncodeStringBytes(x.CustomTag)
case *QuasiId_Inferred:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Inferred); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("QuasiId.Tag has unexpected type %T", x)
}
return nil
}
func _QuasiId_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*QuasiId)
switch tag {
case 2: // tag.info_type
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InfoType)
err := b.DecodeMessage(msg)
m.Tag = &QuasiId_InfoType{msg}
return true, err
case 3: // tag.custom_tag
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeStringBytes()
m.Tag = &QuasiId_CustomTag{x}
return true, err
case 4: // tag.inferred
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(empty.Empty)
err := b.DecodeMessage(msg)
m.Tag = &QuasiId_Inferred{msg}
return true, err
default:
return false, nil
}
}
func _QuasiId_OneofSizer(msg proto.Message) (n int) {
m := msg.(*QuasiId)
// tag
switch x := m.Tag.(type) {
case *QuasiId_InfoType:
s := proto.Size(x.InfoType)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *QuasiId_CustomTag:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.CustomTag)))
n += len(x.CustomTag)
case *QuasiId_Inferred:
s := proto.Size(x.Inferred)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// An auxiliary table containing statistical information on the relative
// frequency of different quasi-identifiers values. It has one or several
// quasi-identifiers columns, and one column that indicates the relative
// frequency of each quasi-identifier tuple.
// If a tuple is present in the data but not in the auxiliary table, the
// corresponding relative frequency is assumed to be zero (and thus, the
// tuple is highly reidentifiable).
type StatisticalTable struct {
// Auxiliary table location. [required]
Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
// Quasi-identifier columns. [required]
QuasiIds []*StatisticalTable_QuasiIdentifierField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
// The relative frequency column must contain a floating-point number
// between 0 and 1 (inclusive). Null values are assumed to be zero.
// [required]
RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StatisticalTable) Reset() { *m = StatisticalTable{} }
func (m *StatisticalTable) String() string { return proto.CompactTextString(m) }
func (*StatisticalTable) ProtoMessage() {}
func (*StatisticalTable) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{31}
}
func (m *StatisticalTable) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatisticalTable.Unmarshal(m, b)
}
func (m *StatisticalTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StatisticalTable.Marshal(b, m, deterministic)
}
func (dst *StatisticalTable) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatisticalTable.Merge(dst, src)
}
func (m *StatisticalTable) XXX_Size() int {
return xxx_messageInfo_StatisticalTable.Size(m)
}
func (m *StatisticalTable) XXX_DiscardUnknown() {
xxx_messageInfo_StatisticalTable.DiscardUnknown(m)
}
var xxx_messageInfo_StatisticalTable proto.InternalMessageInfo
func (m *StatisticalTable) GetTable() *BigQueryTable {
if m != nil {
return m.Table
}
return nil
}
func (m *StatisticalTable) GetQuasiIds() []*StatisticalTable_QuasiIdentifierField {
if m != nil {
return m.QuasiIds
}
return nil
}
func (m *StatisticalTable) GetRelativeFrequency() *FieldId {
if m != nil {
return m.RelativeFrequency
}
return nil
}
// A quasi-identifier column has a custom_tag, used to know which column
// in the data corresponds to which column in the statistical model.
type StatisticalTable_QuasiIdentifierField struct {
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
CustomTag string `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StatisticalTable_QuasiIdentifierField) Reset() { *m = StatisticalTable_QuasiIdentifierField{} }
func (m *StatisticalTable_QuasiIdentifierField) String() string { return proto.CompactTextString(m) }
func (*StatisticalTable_QuasiIdentifierField) ProtoMessage() {}
func (*StatisticalTable_QuasiIdentifierField) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{31, 0}
}
func (m *StatisticalTable_QuasiIdentifierField) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Unmarshal(m, b)
}
func (m *StatisticalTable_QuasiIdentifierField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Marshal(b, m, deterministic)
}
func (dst *StatisticalTable_QuasiIdentifierField) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Merge(dst, src)
}
func (m *StatisticalTable_QuasiIdentifierField) XXX_Size() int {
return xxx_messageInfo_StatisticalTable_QuasiIdentifierField.Size(m)
}
func (m *StatisticalTable_QuasiIdentifierField) XXX_DiscardUnknown() {
xxx_messageInfo_StatisticalTable_QuasiIdentifierField.DiscardUnknown(m)
}
var xxx_messageInfo_StatisticalTable_QuasiIdentifierField proto.InternalMessageInfo
func (m *StatisticalTable_QuasiIdentifierField) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
func (m *StatisticalTable_QuasiIdentifierField) GetCustomTag() string {
if m != nil {
return m.CustomTag
}
return ""
}
// Privacy metric to compute for reidentification risk analysis.
type PrivacyMetric struct {
// Types that are valid to be assigned to Type:
// *PrivacyMetric_NumericalStatsConfig_
// *PrivacyMetric_CategoricalStatsConfig_
// *PrivacyMetric_KAnonymityConfig_
// *PrivacyMetric_LDiversityConfig_
// *PrivacyMetric_KMapEstimationConfig_
// *PrivacyMetric_DeltaPresenceEstimationConfig_
Type isPrivacyMetric_Type `protobuf_oneof:"type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric) Reset() { *m = PrivacyMetric{} }
func (m *PrivacyMetric) String() string { return proto.CompactTextString(m) }
func (*PrivacyMetric) ProtoMessage() {}
func (*PrivacyMetric) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32}
}
func (m *PrivacyMetric) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric.Unmarshal(m, b)
}
func (m *PrivacyMetric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric.Merge(dst, src)
}
func (m *PrivacyMetric) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric.Size(m)
}
func (m *PrivacyMetric) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric proto.InternalMessageInfo
type isPrivacyMetric_Type interface {
isPrivacyMetric_Type()
}
type PrivacyMetric_NumericalStatsConfig_ struct {
NumericalStatsConfig *PrivacyMetric_NumericalStatsConfig `protobuf:"bytes,1,opt,name=numerical_stats_config,json=numericalStatsConfig,proto3,oneof"`
}
type PrivacyMetric_CategoricalStatsConfig_ struct {
CategoricalStatsConfig *PrivacyMetric_CategoricalStatsConfig `protobuf:"bytes,2,opt,name=categorical_stats_config,json=categoricalStatsConfig,proto3,oneof"`
}
type PrivacyMetric_KAnonymityConfig_ struct {
KAnonymityConfig *PrivacyMetric_KAnonymityConfig `protobuf:"bytes,3,opt,name=k_anonymity_config,json=kAnonymityConfig,proto3,oneof"`
}
type PrivacyMetric_LDiversityConfig_ struct {
LDiversityConfig *PrivacyMetric_LDiversityConfig `protobuf:"bytes,4,opt,name=l_diversity_config,json=lDiversityConfig,proto3,oneof"`
}
type PrivacyMetric_KMapEstimationConfig_ struct {
KMapEstimationConfig *PrivacyMetric_KMapEstimationConfig `protobuf:"bytes,5,opt,name=k_map_estimation_config,json=kMapEstimationConfig,proto3,oneof"`
}
type PrivacyMetric_DeltaPresenceEstimationConfig_ struct {
DeltaPresenceEstimationConfig *PrivacyMetric_DeltaPresenceEstimationConfig `protobuf:"bytes,6,opt,name=delta_presence_estimation_config,json=deltaPresenceEstimationConfig,proto3,oneof"`
}
func (*PrivacyMetric_NumericalStatsConfig_) isPrivacyMetric_Type() {}
func (*PrivacyMetric_CategoricalStatsConfig_) isPrivacyMetric_Type() {}
func (*PrivacyMetric_KAnonymityConfig_) isPrivacyMetric_Type() {}
func (*PrivacyMetric_LDiversityConfig_) isPrivacyMetric_Type() {}
func (*PrivacyMetric_KMapEstimationConfig_) isPrivacyMetric_Type() {}
func (*PrivacyMetric_DeltaPresenceEstimationConfig_) isPrivacyMetric_Type() {}
func (m *PrivacyMetric) GetType() isPrivacyMetric_Type {
if m != nil {
return m.Type
}
return nil
}
func (m *PrivacyMetric) GetNumericalStatsConfig() *PrivacyMetric_NumericalStatsConfig {
if x, ok := m.GetType().(*PrivacyMetric_NumericalStatsConfig_); ok {
return x.NumericalStatsConfig
}
return nil
}
func (m *PrivacyMetric) GetCategoricalStatsConfig() *PrivacyMetric_CategoricalStatsConfig {
if x, ok := m.GetType().(*PrivacyMetric_CategoricalStatsConfig_); ok {
return x.CategoricalStatsConfig
}
return nil
}
func (m *PrivacyMetric) GetKAnonymityConfig() *PrivacyMetric_KAnonymityConfig {
if x, ok := m.GetType().(*PrivacyMetric_KAnonymityConfig_); ok {
return x.KAnonymityConfig
}
return nil
}
func (m *PrivacyMetric) GetLDiversityConfig() *PrivacyMetric_LDiversityConfig {
if x, ok := m.GetType().(*PrivacyMetric_LDiversityConfig_); ok {
return x.LDiversityConfig
}
return nil
}
func (m *PrivacyMetric) GetKMapEstimationConfig() *PrivacyMetric_KMapEstimationConfig {
if x, ok := m.GetType().(*PrivacyMetric_KMapEstimationConfig_); ok {
return x.KMapEstimationConfig
}
return nil
}
func (m *PrivacyMetric) GetDeltaPresenceEstimationConfig() *PrivacyMetric_DeltaPresenceEstimationConfig {
if x, ok := m.GetType().(*PrivacyMetric_DeltaPresenceEstimationConfig_); ok {
return x.DeltaPresenceEstimationConfig
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*PrivacyMetric) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _PrivacyMetric_OneofMarshaler, _PrivacyMetric_OneofUnmarshaler, _PrivacyMetric_OneofSizer, []interface{}{
(*PrivacyMetric_NumericalStatsConfig_)(nil),
(*PrivacyMetric_CategoricalStatsConfig_)(nil),
(*PrivacyMetric_KAnonymityConfig_)(nil),
(*PrivacyMetric_LDiversityConfig_)(nil),
(*PrivacyMetric_KMapEstimationConfig_)(nil),
(*PrivacyMetric_DeltaPresenceEstimationConfig_)(nil),
}
}
func _PrivacyMetric_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*PrivacyMetric)
// type
switch x := m.Type.(type) {
case *PrivacyMetric_NumericalStatsConfig_:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.NumericalStatsConfig); err != nil {
return err
}
case *PrivacyMetric_CategoricalStatsConfig_:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CategoricalStatsConfig); err != nil {
return err
}
case *PrivacyMetric_KAnonymityConfig_:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.KAnonymityConfig); err != nil {
return err
}
case *PrivacyMetric_LDiversityConfig_:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.LDiversityConfig); err != nil {
return err
}
case *PrivacyMetric_KMapEstimationConfig_:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.KMapEstimationConfig); err != nil {
return err
}
case *PrivacyMetric_DeltaPresenceEstimationConfig_:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.DeltaPresenceEstimationConfig); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("PrivacyMetric.Type has unexpected type %T", x)
}
return nil
}
func _PrivacyMetric_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*PrivacyMetric)
switch tag {
case 1: // type.numerical_stats_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrivacyMetric_NumericalStatsConfig)
err := b.DecodeMessage(msg)
m.Type = &PrivacyMetric_NumericalStatsConfig_{msg}
return true, err
case 2: // type.categorical_stats_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrivacyMetric_CategoricalStatsConfig)
err := b.DecodeMessage(msg)
m.Type = &PrivacyMetric_CategoricalStatsConfig_{msg}
return true, err
case 3: // type.k_anonymity_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrivacyMetric_KAnonymityConfig)
err := b.DecodeMessage(msg)
m.Type = &PrivacyMetric_KAnonymityConfig_{msg}
return true, err
case 4: // type.l_diversity_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrivacyMetric_LDiversityConfig)
err := b.DecodeMessage(msg)
m.Type = &PrivacyMetric_LDiversityConfig_{msg}
return true, err
case 5: // type.k_map_estimation_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrivacyMetric_KMapEstimationConfig)
err := b.DecodeMessage(msg)
m.Type = &PrivacyMetric_KMapEstimationConfig_{msg}
return true, err
case 6: // type.delta_presence_estimation_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrivacyMetric_DeltaPresenceEstimationConfig)
err := b.DecodeMessage(msg)
m.Type = &PrivacyMetric_DeltaPresenceEstimationConfig_{msg}
return true, err
default:
return false, nil
}
}
func _PrivacyMetric_OneofSizer(msg proto.Message) (n int) {
m := msg.(*PrivacyMetric)
// type
switch x := m.Type.(type) {
case *PrivacyMetric_NumericalStatsConfig_:
s := proto.Size(x.NumericalStatsConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrivacyMetric_CategoricalStatsConfig_:
s := proto.Size(x.CategoricalStatsConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrivacyMetric_KAnonymityConfig_:
s := proto.Size(x.KAnonymityConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrivacyMetric_LDiversityConfig_:
s := proto.Size(x.LDiversityConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrivacyMetric_KMapEstimationConfig_:
s := proto.Size(x.KMapEstimationConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrivacyMetric_DeltaPresenceEstimationConfig_:
s := proto.Size(x.DeltaPresenceEstimationConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Compute numerical stats over an individual column, including
// min, max, and quantiles.
type PrivacyMetric_NumericalStatsConfig struct {
// Field to compute numerical stats on. Supported types are
// integer, float, date, datetime, timestamp, time.
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_NumericalStatsConfig) Reset() { *m = PrivacyMetric_NumericalStatsConfig{} }
func (m *PrivacyMetric_NumericalStatsConfig) String() string { return proto.CompactTextString(m) }
func (*PrivacyMetric_NumericalStatsConfig) ProtoMessage() {}
func (*PrivacyMetric_NumericalStatsConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 0}
}
func (m *PrivacyMetric_NumericalStatsConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Unmarshal(m, b)
}
func (m *PrivacyMetric_NumericalStatsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_NumericalStatsConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Merge(dst, src)
}
func (m *PrivacyMetric_NumericalStatsConfig) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.Size(m)
}
func (m *PrivacyMetric_NumericalStatsConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_NumericalStatsConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_NumericalStatsConfig proto.InternalMessageInfo
func (m *PrivacyMetric_NumericalStatsConfig) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
// Compute numerical stats over an individual column, including
// number of distinct values and value count distribution.
type PrivacyMetric_CategoricalStatsConfig struct {
// Field to compute categorical stats on. All column types are
// supported except for arrays and structs. However, it may be more
// informative to use NumericalStats when the field type is supported,
// depending on the data.
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_CategoricalStatsConfig) Reset() { *m = PrivacyMetric_CategoricalStatsConfig{} }
func (m *PrivacyMetric_CategoricalStatsConfig) String() string { return proto.CompactTextString(m) }
func (*PrivacyMetric_CategoricalStatsConfig) ProtoMessage() {}
func (*PrivacyMetric_CategoricalStatsConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 1}
}
func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Unmarshal(m, b)
}
func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_CategoricalStatsConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Merge(dst, src)
}
func (m *PrivacyMetric_CategoricalStatsConfig) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.Size(m)
}
func (m *PrivacyMetric_CategoricalStatsConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_CategoricalStatsConfig proto.InternalMessageInfo
func (m *PrivacyMetric_CategoricalStatsConfig) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
// k-anonymity metric, used for analysis of reidentification risk.
type PrivacyMetric_KAnonymityConfig struct {
// Set of fields to compute k-anonymity over. When multiple fields are
// specified, they are considered a single composite key. Structs and
// repeated data types are not supported; however, nested fields are
// supported so long as they are not structs themselves or nested within
// a repeated field.
QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
// Optional message indicating that multiple rows might be associated to a
// single individual. If the same entity_id is associated to multiple
// quasi-identifier tuples over distict rows, we consider the entire
// collection of tuples as the composite quasi-identifier. This collection
// is a multiset: the order in which the different tuples appear in the
// dataset is ignored, but their frequency is taken into account.
//
// Important note: a maximum of 1000 rows can be associated to a single
// entity ID. If more rows are associated with the same entity ID, some
// might be ignored.
EntityId *EntityId `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_KAnonymityConfig) Reset() { *m = PrivacyMetric_KAnonymityConfig{} }
func (m *PrivacyMetric_KAnonymityConfig) String() string { return proto.CompactTextString(m) }
func (*PrivacyMetric_KAnonymityConfig) ProtoMessage() {}
func (*PrivacyMetric_KAnonymityConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 2}
}
func (m *PrivacyMetric_KAnonymityConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Unmarshal(m, b)
}
func (m *PrivacyMetric_KAnonymityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_KAnonymityConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Merge(dst, src)
}
func (m *PrivacyMetric_KAnonymityConfig) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_KAnonymityConfig.Size(m)
}
func (m *PrivacyMetric_KAnonymityConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_KAnonymityConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_KAnonymityConfig proto.InternalMessageInfo
func (m *PrivacyMetric_KAnonymityConfig) GetQuasiIds() []*FieldId {
if m != nil {
return m.QuasiIds
}
return nil
}
func (m *PrivacyMetric_KAnonymityConfig) GetEntityId() *EntityId {
if m != nil {
return m.EntityId
}
return nil
}
// l-diversity metric, used for analysis of reidentification risk.
type PrivacyMetric_LDiversityConfig struct {
// Set of quasi-identifiers indicating how equivalence classes are
// defined for the l-diversity computation. When multiple fields are
// specified, they are considered a single composite key.
QuasiIds []*FieldId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
// Sensitive field for computing the l-value.
SensitiveAttribute *FieldId `protobuf:"bytes,2,opt,name=sensitive_attribute,json=sensitiveAttribute,proto3" json:"sensitive_attribute,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_LDiversityConfig) Reset() { *m = PrivacyMetric_LDiversityConfig{} }
func (m *PrivacyMetric_LDiversityConfig) String() string { return proto.CompactTextString(m) }
func (*PrivacyMetric_LDiversityConfig) ProtoMessage() {}
func (*PrivacyMetric_LDiversityConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 3}
}
func (m *PrivacyMetric_LDiversityConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_LDiversityConfig.Unmarshal(m, b)
}
func (m *PrivacyMetric_LDiversityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_LDiversityConfig.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_LDiversityConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_LDiversityConfig.Merge(dst, src)
}
func (m *PrivacyMetric_LDiversityConfig) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_LDiversityConfig.Size(m)
}
func (m *PrivacyMetric_LDiversityConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_LDiversityConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_LDiversityConfig proto.InternalMessageInfo
func (m *PrivacyMetric_LDiversityConfig) GetQuasiIds() []*FieldId {
if m != nil {
return m.QuasiIds
}
return nil
}
func (m *PrivacyMetric_LDiversityConfig) GetSensitiveAttribute() *FieldId {
if m != nil {
return m.SensitiveAttribute
}
return nil
}
// Reidentifiability metric. This corresponds to a risk model similar to what
// is called "journalist risk" in the literature, except the attack dataset is
// statistically modeled instead of being perfectly known. This can be done
// using publicly available data (like the US Census), or using a custom
// statistical model (indicated as one or several BigQuery tables), or by
// extrapolating from the distribution of values in the input dataset.
// A column with a semantic tag attached.
type PrivacyMetric_KMapEstimationConfig struct {
// Fields considered to be quasi-identifiers. No two columns can have the
// same tag. [required]
QuasiIds []*PrivacyMetric_KMapEstimationConfig_TaggedField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
// ISO 3166-1 alpha-2 region code to use in the statistical modeling.
// Required if no column is tagged with a region-specific InfoType (like
// US_ZIP_5) or a region code.
RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
// Several auxiliary tables can be used in the analysis. Each custom_tag
// used to tag a quasi-identifiers column must appear in exactly one column
// of one auxiliary table.
AuxiliaryTables []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_KMapEstimationConfig) Reset() { *m = PrivacyMetric_KMapEstimationConfig{} }
func (m *PrivacyMetric_KMapEstimationConfig) String() string { return proto.CompactTextString(m) }
func (*PrivacyMetric_KMapEstimationConfig) ProtoMessage() {}
func (*PrivacyMetric_KMapEstimationConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 4}
}
func (m *PrivacyMetric_KMapEstimationConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Unmarshal(m, b)
}
func (m *PrivacyMetric_KMapEstimationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_KMapEstimationConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Merge(dst, src)
}
func (m *PrivacyMetric_KMapEstimationConfig) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.Size(m)
}
func (m *PrivacyMetric_KMapEstimationConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig proto.InternalMessageInfo
func (m *PrivacyMetric_KMapEstimationConfig) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_TaggedField {
if m != nil {
return m.QuasiIds
}
return nil
}
func (m *PrivacyMetric_KMapEstimationConfig) GetRegionCode() string {
if m != nil {
return m.RegionCode
}
return ""
}
func (m *PrivacyMetric_KMapEstimationConfig) GetAuxiliaryTables() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable {
if m != nil {
return m.AuxiliaryTables
}
return nil
}
type PrivacyMetric_KMapEstimationConfig_TaggedField struct {
// Identifies the column. [required]
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
// Semantic tag that identifies what a column contains, to determine which
// statistical model to use to estimate the reidentifiability of each
// value. [required]
//
// Types that are valid to be assigned to Tag:
// *PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType
// *PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag
// *PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred
Tag isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag `protobuf_oneof:"tag"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) Reset() {
*m = PrivacyMetric_KMapEstimationConfig_TaggedField{}
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) String() string {
return proto.CompactTextString(m)
}
func (*PrivacyMetric_KMapEstimationConfig_TaggedField) ProtoMessage() {}
func (*PrivacyMetric_KMapEstimationConfig_TaggedField) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 4, 0}
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Unmarshal(m, b)
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Merge(dst, src)
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.Size(m)
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_TaggedField proto.InternalMessageInfo
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
type isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag interface {
isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag()
}
type PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType struct {
InfoType *InfoType `protobuf:"bytes,2,opt,name=info_type,json=infoType,proto3,oneof"`
}
type PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag struct {
CustomTag string `protobuf:"bytes,3,opt,name=custom_tag,json=customTag,proto3,oneof"`
}
type PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred struct {
Inferred *empty.Empty `protobuf:"bytes,4,opt,name=inferred,proto3,oneof"`
}
func (*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
}
func (*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
}
func (*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred) isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag() {
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetTag() isPrivacyMetric_KMapEstimationConfig_TaggedField_Tag {
if m != nil {
return m.Tag
}
return nil
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInfoType() *InfoType {
if x, ok := m.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType); ok {
return x.InfoType
}
return nil
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetCustomTag() string {
if x, ok := m.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag); ok {
return x.CustomTag
}
return ""
}
func (m *PrivacyMetric_KMapEstimationConfig_TaggedField) GetInferred() *empty.Empty {
if x, ok := m.GetTag().(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred); ok {
return x.Inferred
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*PrivacyMetric_KMapEstimationConfig_TaggedField) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _PrivacyMetric_KMapEstimationConfig_TaggedField_OneofMarshaler, _PrivacyMetric_KMapEstimationConfig_TaggedField_OneofUnmarshaler, _PrivacyMetric_KMapEstimationConfig_TaggedField_OneofSizer, []interface{}{
(*PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType)(nil),
(*PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag)(nil),
(*PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred)(nil),
}
}
func _PrivacyMetric_KMapEstimationConfig_TaggedField_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*PrivacyMetric_KMapEstimationConfig_TaggedField)
// tag
switch x := m.Tag.(type) {
case *PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InfoType); err != nil {
return err
}
case *PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag:
b.EncodeVarint(3<<3 | proto.WireBytes)
b.EncodeStringBytes(x.CustomTag)
case *PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Inferred); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("PrivacyMetric_KMapEstimationConfig_TaggedField.Tag has unexpected type %T", x)
}
return nil
}
func _PrivacyMetric_KMapEstimationConfig_TaggedField_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*PrivacyMetric_KMapEstimationConfig_TaggedField)
switch tag {
case 2: // tag.info_type
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InfoType)
err := b.DecodeMessage(msg)
m.Tag = &PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType{msg}
return true, err
case 3: // tag.custom_tag
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeStringBytes()
m.Tag = &PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag{x}
return true, err
case 4: // tag.inferred
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(empty.Empty)
err := b.DecodeMessage(msg)
m.Tag = &PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred{msg}
return true, err
default:
return false, nil
}
}
func _PrivacyMetric_KMapEstimationConfig_TaggedField_OneofSizer(msg proto.Message) (n int) {
m := msg.(*PrivacyMetric_KMapEstimationConfig_TaggedField)
// tag
switch x := m.Tag.(type) {
case *PrivacyMetric_KMapEstimationConfig_TaggedField_InfoType:
s := proto.Size(x.InfoType)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrivacyMetric_KMapEstimationConfig_TaggedField_CustomTag:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.CustomTag)))
n += len(x.CustomTag)
case *PrivacyMetric_KMapEstimationConfig_TaggedField_Inferred:
s := proto.Size(x.Inferred)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// An auxiliary table contains statistical information on the relative
// frequency of different quasi-identifiers values. It has one or several
// quasi-identifiers columns, and one column that indicates the relative
// frequency of each quasi-identifier tuple.
// If a tuple is present in the data but not in the auxiliary table, the
// corresponding relative frequency is assumed to be zero (and thus, the
// tuple is highly reidentifiable).
type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable struct {
// Auxiliary table location. [required]
Table *BigQueryTable `protobuf:"bytes,3,opt,name=table,proto3" json:"table,omitempty"`
// Quasi-identifier columns. [required]
QuasiIds []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
// The relative frequency column must contain a floating-point number
// between 0 and 1 (inclusive). Null values are assumed to be zero.
// [required]
RelativeFrequency *FieldId `protobuf:"bytes,2,opt,name=relative_frequency,json=relativeFrequency,proto3" json:"relative_frequency,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Reset() {
*m = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable{}
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) String() string {
return proto.CompactTextString(m)
}
func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) ProtoMessage() {}
func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 4, 1}
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Unmarshal(m, b)
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Merge(dst, src)
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.Size(m)
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable proto.InternalMessageInfo
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetTable() *BigQueryTable {
if m != nil {
return m.Table
}
return nil
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetQuasiIds() []*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField {
if m != nil {
return m.QuasiIds
}
return nil
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable) GetRelativeFrequency() *FieldId {
if m != nil {
return m.RelativeFrequency
}
return nil
}
// A quasi-identifier column has a custom_tag, used to know which column
// in the data corresponds to which column in the statistical model.
type PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField struct {
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
CustomTag string `protobuf:"bytes,2,opt,name=custom_tag,json=customTag,proto3" json:"custom_tag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Reset() {
*m = PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField{}
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) String() string {
return proto.CompactTextString(m)
}
func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) ProtoMessage() {}
func (*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 4, 1, 0}
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Unmarshal(m, b)
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Merge(dst, src)
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.Size(m)
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField proto.InternalMessageInfo
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
func (m *PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField) GetCustomTag() string {
if m != nil {
return m.CustomTag
}
return ""
}
// δ-presence metric, used to estimate how likely it is for an attacker to
// figure out that one given individual appears in a de-identified dataset.
// Similarly to the k-map metric, we cannot compute δ-presence exactly without
// knowing the attack dataset, so we use a statistical model instead.
type PrivacyMetric_DeltaPresenceEstimationConfig struct {
// Fields considered to be quasi-identifiers. No two fields can have the
// same tag. [required]
QuasiIds []*QuasiId `protobuf:"bytes,1,rep,name=quasi_ids,json=quasiIds,proto3" json:"quasi_ids,omitempty"`
// ISO 3166-1 alpha-2 region code to use in the statistical modeling.
// Required if no column is tagged with a region-specific InfoType (like
// US_ZIP_5) or a region code.
RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"`
// Several auxiliary tables can be used in the analysis. Each custom_tag
// used to tag a quasi-identifiers field must appear in exactly one
// field of one auxiliary table.
AuxiliaryTables []*StatisticalTable `protobuf:"bytes,3,rep,name=auxiliary_tables,json=auxiliaryTables,proto3" json:"auxiliary_tables,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) Reset() {
*m = PrivacyMetric_DeltaPresenceEstimationConfig{}
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) String() string {
return proto.CompactTextString(m)
}
func (*PrivacyMetric_DeltaPresenceEstimationConfig) ProtoMessage() {}
func (*PrivacyMetric_DeltaPresenceEstimationConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{32, 5}
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Unmarshal(m, b)
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Marshal(b, m, deterministic)
}
func (dst *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Merge(dst, src)
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_Size() int {
return xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.Size(m)
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) XXX_DiscardUnknown() {
xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig.DiscardUnknown(m)
}
var xxx_messageInfo_PrivacyMetric_DeltaPresenceEstimationConfig proto.InternalMessageInfo
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) GetQuasiIds() []*QuasiId {
if m != nil {
return m.QuasiIds
}
return nil
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) GetRegionCode() string {
if m != nil {
return m.RegionCode
}
return ""
}
func (m *PrivacyMetric_DeltaPresenceEstimationConfig) GetAuxiliaryTables() []*StatisticalTable {
if m != nil {
return m.AuxiliaryTables
}
return nil
}
// Result of a risk analysis operation request.
type AnalyzeDataSourceRiskDetails struct {
// Privacy metric to compute.
RequestedPrivacyMetric *PrivacyMetric `protobuf:"bytes,1,opt,name=requested_privacy_metric,json=requestedPrivacyMetric,proto3" json:"requested_privacy_metric,omitempty"`
// Input dataset to compute metrics over.
RequestedSourceTable *BigQueryTable `protobuf:"bytes,2,opt,name=requested_source_table,json=requestedSourceTable,proto3" json:"requested_source_table,omitempty"`
// Values associated with this metric.
//
// Types that are valid to be assigned to Result:
// *AnalyzeDataSourceRiskDetails_NumericalStatsResult_
// *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_
// *AnalyzeDataSourceRiskDetails_KAnonymityResult_
// *AnalyzeDataSourceRiskDetails_LDiversityResult_
// *AnalyzeDataSourceRiskDetails_KMapEstimationResult_
// *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_
Result isAnalyzeDataSourceRiskDetails_Result `protobuf_oneof:"result"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails) Reset() { *m = AnalyzeDataSourceRiskDetails{} }
func (m *AnalyzeDataSourceRiskDetails) String() string { return proto.CompactTextString(m) }
func (*AnalyzeDataSourceRiskDetails) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33}
}
func (m *AnalyzeDataSourceRiskDetails) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails) GetRequestedPrivacyMetric() *PrivacyMetric {
if m != nil {
return m.RequestedPrivacyMetric
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetRequestedSourceTable() *BigQueryTable {
if m != nil {
return m.RequestedSourceTable
}
return nil
}
type isAnalyzeDataSourceRiskDetails_Result interface {
isAnalyzeDataSourceRiskDetails_Result()
}
type AnalyzeDataSourceRiskDetails_NumericalStatsResult_ struct {
NumericalStatsResult *AnalyzeDataSourceRiskDetails_NumericalStatsResult `protobuf:"bytes,3,opt,name=numerical_stats_result,json=numericalStatsResult,proto3,oneof"`
}
type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_ struct {
CategoricalStatsResult *AnalyzeDataSourceRiskDetails_CategoricalStatsResult `protobuf:"bytes,4,opt,name=categorical_stats_result,json=categoricalStatsResult,proto3,oneof"`
}
type AnalyzeDataSourceRiskDetails_KAnonymityResult_ struct {
KAnonymityResult *AnalyzeDataSourceRiskDetails_KAnonymityResult `protobuf:"bytes,5,opt,name=k_anonymity_result,json=kAnonymityResult,proto3,oneof"`
}
type AnalyzeDataSourceRiskDetails_LDiversityResult_ struct {
LDiversityResult *AnalyzeDataSourceRiskDetails_LDiversityResult `protobuf:"bytes,6,opt,name=l_diversity_result,json=lDiversityResult,proto3,oneof"`
}
type AnalyzeDataSourceRiskDetails_KMapEstimationResult_ struct {
KMapEstimationResult *AnalyzeDataSourceRiskDetails_KMapEstimationResult `protobuf:"bytes,7,opt,name=k_map_estimation_result,json=kMapEstimationResult,proto3,oneof"`
}
type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_ struct {
DeltaPresenceEstimationResult *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult `protobuf:"bytes,9,opt,name=delta_presence_estimation_result,json=deltaPresenceEstimationResult,proto3,oneof"`
}
func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {}
func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_) isAnalyzeDataSourceRiskDetails_Result() {}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_) isAnalyzeDataSourceRiskDetails_Result() {}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult_) isAnalyzeDataSourceRiskDetails_Result() {}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_) isAnalyzeDataSourceRiskDetails_Result() {
}
func (m *AnalyzeDataSourceRiskDetails) GetResult() isAnalyzeDataSourceRiskDetails_Result {
if m != nil {
return m.Result
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetNumericalStatsResult() *AnalyzeDataSourceRiskDetails_NumericalStatsResult {
if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_); ok {
return x.NumericalStatsResult
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetCategoricalStatsResult() *AnalyzeDataSourceRiskDetails_CategoricalStatsResult {
if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_); ok {
return x.CategoricalStatsResult
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetKAnonymityResult() *AnalyzeDataSourceRiskDetails_KAnonymityResult {
if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_KAnonymityResult_); ok {
return x.KAnonymityResult
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetLDiversityResult() *AnalyzeDataSourceRiskDetails_LDiversityResult {
if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_LDiversityResult_); ok {
return x.LDiversityResult
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetKMapEstimationResult() *AnalyzeDataSourceRiskDetails_KMapEstimationResult {
if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_); ok {
return x.KMapEstimationResult
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails) GetDeltaPresenceEstimationResult() *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult {
if x, ok := m.GetResult().(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_); ok {
return x.DeltaPresenceEstimationResult
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*AnalyzeDataSourceRiskDetails) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _AnalyzeDataSourceRiskDetails_OneofMarshaler, _AnalyzeDataSourceRiskDetails_OneofUnmarshaler, _AnalyzeDataSourceRiskDetails_OneofSizer, []interface{}{
(*AnalyzeDataSourceRiskDetails_NumericalStatsResult_)(nil),
(*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_)(nil),
(*AnalyzeDataSourceRiskDetails_KAnonymityResult_)(nil),
(*AnalyzeDataSourceRiskDetails_LDiversityResult_)(nil),
(*AnalyzeDataSourceRiskDetails_KMapEstimationResult_)(nil),
(*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_)(nil),
}
}
func _AnalyzeDataSourceRiskDetails_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*AnalyzeDataSourceRiskDetails)
// result
switch x := m.Result.(type) {
case *AnalyzeDataSourceRiskDetails_NumericalStatsResult_:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.NumericalStatsResult); err != nil {
return err
}
case *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CategoricalStatsResult); err != nil {
return err
}
case *AnalyzeDataSourceRiskDetails_KAnonymityResult_:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.KAnonymityResult); err != nil {
return err
}
case *AnalyzeDataSourceRiskDetails_LDiversityResult_:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.LDiversityResult); err != nil {
return err
}
case *AnalyzeDataSourceRiskDetails_KMapEstimationResult_:
b.EncodeVarint(7<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.KMapEstimationResult); err != nil {
return err
}
case *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_:
b.EncodeVarint(9<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.DeltaPresenceEstimationResult); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("AnalyzeDataSourceRiskDetails.Result has unexpected type %T", x)
}
return nil
}
func _AnalyzeDataSourceRiskDetails_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*AnalyzeDataSourceRiskDetails)
switch tag {
case 3: // result.numerical_stats_result
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails_NumericalStatsResult)
err := b.DecodeMessage(msg)
m.Result = &AnalyzeDataSourceRiskDetails_NumericalStatsResult_{msg}
return true, err
case 4: // result.categorical_stats_result
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails_CategoricalStatsResult)
err := b.DecodeMessage(msg)
m.Result = &AnalyzeDataSourceRiskDetails_CategoricalStatsResult_{msg}
return true, err
case 5: // result.k_anonymity_result
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails_KAnonymityResult)
err := b.DecodeMessage(msg)
m.Result = &AnalyzeDataSourceRiskDetails_KAnonymityResult_{msg}
return true, err
case 6: // result.l_diversity_result
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails_LDiversityResult)
err := b.DecodeMessage(msg)
m.Result = &AnalyzeDataSourceRiskDetails_LDiversityResult_{msg}
return true, err
case 7: // result.k_map_estimation_result
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails_KMapEstimationResult)
err := b.DecodeMessage(msg)
m.Result = &AnalyzeDataSourceRiskDetails_KMapEstimationResult_{msg}
return true, err
case 9: // result.delta_presence_estimation_result
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult)
err := b.DecodeMessage(msg)
m.Result = &AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_{msg}
return true, err
default:
return false, nil
}
}
func _AnalyzeDataSourceRiskDetails_OneofSizer(msg proto.Message) (n int) {
m := msg.(*AnalyzeDataSourceRiskDetails)
// result
switch x := m.Result.(type) {
case *AnalyzeDataSourceRiskDetails_NumericalStatsResult_:
s := proto.Size(x.NumericalStatsResult)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_:
s := proto.Size(x.CategoricalStatsResult)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *AnalyzeDataSourceRiskDetails_KAnonymityResult_:
s := proto.Size(x.KAnonymityResult)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *AnalyzeDataSourceRiskDetails_LDiversityResult_:
s := proto.Size(x.LDiversityResult)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *AnalyzeDataSourceRiskDetails_KMapEstimationResult_:
s := proto.Size(x.KMapEstimationResult)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_:
s := proto.Size(x.DeltaPresenceEstimationResult)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Result of the numerical stats computation.
type AnalyzeDataSourceRiskDetails_NumericalStatsResult struct {
// Minimum value appearing in the column.
MinValue *Value `protobuf:"bytes,1,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"`
// Maximum value appearing in the column.
MaxValue *Value `protobuf:"bytes,2,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"`
// List of 99 values that partition the set of field values into 100 equal
// sized buckets.
QuantileValues []*Value `protobuf:"bytes,4,rep,name=quantile_values,json=quantileValues,proto3" json:"quantile_values,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) Reset() {
*m = AnalyzeDataSourceRiskDetails_NumericalStatsResult{}
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_NumericalStatsResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 0}
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_NumericalStatsResult proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMinValue() *Value {
if m != nil {
return m.MinValue
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetMaxValue() *Value {
if m != nil {
return m.MaxValue
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_NumericalStatsResult) GetQuantileValues() []*Value {
if m != nil {
return m.QuantileValues
}
return nil
}
// Result of the categorical stats computation.
type AnalyzeDataSourceRiskDetails_CategoricalStatsResult struct {
// Histogram of value frequencies in the column.
ValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket `protobuf:"bytes,5,rep,name=value_frequency_histogram_buckets,json=valueFrequencyHistogramBuckets,proto3" json:"value_frequency_histogram_buckets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Reset() {
*m = AnalyzeDataSourceRiskDetails_CategoricalStatsResult{}
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 1}
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult) GetValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket {
if m != nil {
return m.ValueFrequencyHistogramBuckets
}
return nil
}
type AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket struct {
// Lower bound on the value frequency of the values in this bucket.
ValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=value_frequency_lower_bound,json=valueFrequencyLowerBound,proto3" json:"value_frequency_lower_bound,omitempty"`
// Upper bound on the value frequency of the values in this bucket.
ValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=value_frequency_upper_bound,json=valueFrequencyUpperBound,proto3" json:"value_frequency_upper_bound,omitempty"`
// Total number of values in this bucket.
BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
// Sample of value frequencies in this bucket. The total number of
// values returned per bucket is capped at 20.
BucketValues []*ValueFrequency `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
// Total number of distinct values in this bucket.
BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Reset() {
*m = AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket{}
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) ProtoMessage() {
}
func (*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 1, 0}
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyLowerBound() int64 {
if m != nil {
return m.ValueFrequencyLowerBound
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetValueFrequencyUpperBound() int64 {
if m != nil {
return m.ValueFrequencyUpperBound
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketSize() int64 {
if m != nil {
return m.BucketSize
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValues() []*ValueFrequency {
if m != nil {
return m.BucketValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket) GetBucketValueCount() int64 {
if m != nil {
return m.BucketValueCount
}
return 0
}
// Result of the k-anonymity computation.
type AnalyzeDataSourceRiskDetails_KAnonymityResult struct {
// Histogram of k-anonymity equivalence classes.
EquivalenceClassHistogramBuckets []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket `protobuf:"bytes,5,rep,name=equivalence_class_histogram_buckets,json=equivalenceClassHistogramBuckets,proto3" json:"equivalence_class_histogram_buckets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) Reset() {
*m = AnalyzeDataSourceRiskDetails_KAnonymityResult{}
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 2}
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult) GetEquivalenceClassHistogramBuckets() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket {
if m != nil {
return m.EquivalenceClassHistogramBuckets
}
return nil
}
// The set of columns' values that share the same ldiversity value
type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass struct {
// Set of values defining the equivalence class. One value per
// quasi-identifier column in the original KAnonymity metric message.
// The order is always the same as the original request.
QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
// Size of the equivalence class, for example number of rows with the
// above set of values.
EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Reset() {
*m = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass{}
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 2, 0}
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetQuasiIdsValues() []*Value {
if m != nil {
return m.QuasiIdsValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass) GetEquivalenceClassSize() int64 {
if m != nil {
return m.EquivalenceClassSize
}
return 0
}
type AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket struct {
// Lower bound on the size of the equivalence classes in this bucket.
EquivalenceClassSizeLowerBound int64 `protobuf:"varint,1,opt,name=equivalence_class_size_lower_bound,json=equivalenceClassSizeLowerBound,proto3" json:"equivalence_class_size_lower_bound,omitempty"`
// Upper bound on the size of the equivalence classes in this bucket.
EquivalenceClassSizeUpperBound int64 `protobuf:"varint,2,opt,name=equivalence_class_size_upper_bound,json=equivalenceClassSizeUpperBound,proto3" json:"equivalence_class_size_upper_bound,omitempty"`
// Total number of equivalence classes in this bucket.
BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
// Sample of equivalence classes in this bucket. The total number of
// classes returned per bucket is capped at 20.
BucketValues []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
// Total number of distinct equivalence classes in this bucket.
BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Reset() {
*m = AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket{}
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 2, 1}
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeLowerBound() int64 {
if m != nil {
return m.EquivalenceClassSizeLowerBound
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetEquivalenceClassSizeUpperBound() int64 {
if m != nil {
return m.EquivalenceClassSizeUpperBound
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketSize() int64 {
if m != nil {
return m.BucketSize
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass {
if m != nil {
return m.BucketValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket) GetBucketValueCount() int64 {
if m != nil {
return m.BucketValueCount
}
return 0
}
// Result of the l-diversity computation.
type AnalyzeDataSourceRiskDetails_LDiversityResult struct {
// Histogram of l-diversity equivalence class sensitive value frequencies.
SensitiveValueFrequencyHistogramBuckets []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket `protobuf:"bytes,5,rep,name=sensitive_value_frequency_histogram_buckets,json=sensitiveValueFrequencyHistogramBuckets,proto3" json:"sensitive_value_frequency_histogram_buckets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) Reset() {
*m = AnalyzeDataSourceRiskDetails_LDiversityResult{}
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 3}
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult) GetSensitiveValueFrequencyHistogramBuckets() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket {
if m != nil {
return m.SensitiveValueFrequencyHistogramBuckets
}
return nil
}
// The set of columns' values that share the same ldiversity value.
type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass struct {
// Quasi-identifier values defining the k-anonymity equivalence
// class. The order is always the same as the original request.
QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
// Size of the k-anonymity equivalence class.
EquivalenceClassSize int64 `protobuf:"varint,2,opt,name=equivalence_class_size,json=equivalenceClassSize,proto3" json:"equivalence_class_size,omitempty"`
// Number of distinct sensitive values in this equivalence class.
NumDistinctSensitiveValues int64 `protobuf:"varint,3,opt,name=num_distinct_sensitive_values,json=numDistinctSensitiveValues,proto3" json:"num_distinct_sensitive_values,omitempty"`
// Estimated frequencies of top sensitive values.
TopSensitiveValues []*ValueFrequency `protobuf:"bytes,4,rep,name=top_sensitive_values,json=topSensitiveValues,proto3" json:"top_sensitive_values,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Reset() {
*m = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass{}
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 3, 0}
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetQuasiIdsValues() []*Value {
if m != nil {
return m.QuasiIdsValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetEquivalenceClassSize() int64 {
if m != nil {
return m.EquivalenceClassSize
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetNumDistinctSensitiveValues() int64 {
if m != nil {
return m.NumDistinctSensitiveValues
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass) GetTopSensitiveValues() []*ValueFrequency {
if m != nil {
return m.TopSensitiveValues
}
return nil
}
type AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket struct {
// Lower bound on the sensitive value frequencies of the equivalence
// classes in this bucket.
SensitiveValueFrequencyLowerBound int64 `protobuf:"varint,1,opt,name=sensitive_value_frequency_lower_bound,json=sensitiveValueFrequencyLowerBound,proto3" json:"sensitive_value_frequency_lower_bound,omitempty"`
// Upper bound on the sensitive value frequencies of the equivalence
// classes in this bucket.
SensitiveValueFrequencyUpperBound int64 `protobuf:"varint,2,opt,name=sensitive_value_frequency_upper_bound,json=sensitiveValueFrequencyUpperBound,proto3" json:"sensitive_value_frequency_upper_bound,omitempty"`
// Total number of equivalence classes in this bucket.
BucketSize int64 `protobuf:"varint,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
// Sample of equivalence classes in this bucket. The total number of
// classes returned per bucket is capped at 20.
BucketValues []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass `protobuf:"bytes,4,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
// Total number of distinct equivalence classes in this bucket.
BucketValueCount int64 `protobuf:"varint,5,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Reset() {
*m = AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket{}
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 3, 1}
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyLowerBound() int64 {
if m != nil {
return m.SensitiveValueFrequencyLowerBound
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetSensitiveValueFrequencyUpperBound() int64 {
if m != nil {
return m.SensitiveValueFrequencyUpperBound
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketSize() int64 {
if m != nil {
return m.BucketSize
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass {
if m != nil {
return m.BucketValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket) GetBucketValueCount() int64 {
if m != nil {
return m.BucketValueCount
}
return 0
}
// Result of the reidentifiability analysis. Note that these results are an
// estimation, not exact values.
type AnalyzeDataSourceRiskDetails_KMapEstimationResult struct {
// The intervals [min_anonymity, max_anonymity] do not overlap. If a value
// doesn't correspond to any such interval, the associated frequency is
// zero. For example, the following records:
// {min_anonymity: 1, max_anonymity: 1, frequency: 17}
// {min_anonymity: 2, max_anonymity: 3, frequency: 42}
// {min_anonymity: 5, max_anonymity: 10, frequency: 99}
// mean that there are no record with an estimated anonymity of 4, 5, or
// larger than 10.
KMapEstimationHistogram []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket `protobuf:"bytes,1,rep,name=k_map_estimation_histogram,json=kMapEstimationHistogram,proto3" json:"k_map_estimation_histogram,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) Reset() {
*m = AnalyzeDataSourceRiskDetails_KMapEstimationResult{}
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 4}
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult) GetKMapEstimationHistogram() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket {
if m != nil {
return m.KMapEstimationHistogram
}
return nil
}
// A tuple of values for the quasi-identifier columns.
type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues struct {
// The quasi-identifier values.
QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
// The estimated anonymity for these quasi-identifier values.
EstimatedAnonymity int64 `protobuf:"varint,2,opt,name=estimated_anonymity,json=estimatedAnonymity,proto3" json:"estimated_anonymity,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Reset() {
*m = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues{}
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 4, 0}
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetQuasiIdsValues() []*Value {
if m != nil {
return m.QuasiIdsValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues) GetEstimatedAnonymity() int64 {
if m != nil {
return m.EstimatedAnonymity
}
return 0
}
// A KMapEstimationHistogramBucket message with the following values:
// min_anonymity: 3
// max_anonymity: 5
// frequency: 42
// means that there are 42 records whose quasi-identifier values correspond
// to 3, 4 or 5 people in the overlying population. An important particular
// case is when min_anonymity = max_anonymity = 1: the frequency field then
// corresponds to the number of uniquely identifiable records.
type AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket struct {
// Always positive.
MinAnonymity int64 `protobuf:"varint,1,opt,name=min_anonymity,json=minAnonymity,proto3" json:"min_anonymity,omitempty"`
// Always greater than or equal to min_anonymity.
MaxAnonymity int64 `protobuf:"varint,2,opt,name=max_anonymity,json=maxAnonymity,proto3" json:"max_anonymity,omitempty"`
// Number of records within these anonymity bounds.
BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
// Sample of quasi-identifier tuple values in this bucket. The total
// number of classes returned per bucket is capped at 20.
BucketValues []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
// Total number of distinct quasi-identifier tuple values in this bucket.
BucketValueCount int64 `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Reset() {
*m = AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket{}
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) ProtoMessage() {
}
func (*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 4, 1}
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMinAnonymity() int64 {
if m != nil {
return m.MinAnonymity
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetMaxAnonymity() int64 {
if m != nil {
return m.MaxAnonymity
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketSize() int64 {
if m != nil {
return m.BucketSize
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues {
if m != nil {
return m.BucketValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket) GetBucketValueCount() int64 {
if m != nil {
return m.BucketValueCount
}
return 0
}
// Result of the δ-presence computation. Note that these results are an
// estimation, not exact values.
type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult struct {
// The intervals [min_probability, max_probability) do not overlap. If a
// value doesn't correspond to any such interval, the associated frequency
// is zero. For example, the following records:
// {min_probability: 0, max_probability: 0.1, frequency: 17}
// {min_probability: 0.2, max_probability: 0.3, frequency: 42}
// {min_probability: 0.3, max_probability: 0.4, frequency: 99}
// mean that there are no record with an estimated probability in [0.1, 0.2)
// nor larger or equal to 0.4.
DeltaPresenceEstimationHistogram []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket `protobuf:"bytes,1,rep,name=delta_presence_estimation_histogram,json=deltaPresenceEstimationHistogram,proto3" json:"delta_presence_estimation_histogram,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Reset() {
*m = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult{}
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) ProtoMessage() {}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 5}
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult) GetDeltaPresenceEstimationHistogram() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket {
if m != nil {
return m.DeltaPresenceEstimationHistogram
}
return nil
}
// A tuple of values for the quasi-identifier columns.
type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues struct {
// The quasi-identifier values.
QuasiIdsValues []*Value `protobuf:"bytes,1,rep,name=quasi_ids_values,json=quasiIdsValues,proto3" json:"quasi_ids_values,omitempty"`
// The estimated probability that a given individual sharing these
// quasi-identifier values is in the dataset. This value, typically called
// δ, is the ratio between the number of records in the dataset with these
// quasi-identifier values, and the total number of individuals (inside
// *and* outside the dataset) with these quasi-identifier values.
// For example, if there are 15 individuals in the dataset who share the
// same quasi-identifier values, and an estimated 100 people in the entire
// population with these values, then δ is 0.15.
EstimatedProbability float64 `protobuf:"fixed64,2,opt,name=estimated_probability,json=estimatedProbability,proto3" json:"estimated_probability,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Reset() {
*m = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues{}
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) ProtoMessage() {
}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 5, 0}
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetQuasiIdsValues() []*Value {
if m != nil {
return m.QuasiIdsValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues) GetEstimatedProbability() float64 {
if m != nil {
return m.EstimatedProbability
}
return 0
}
// A DeltaPresenceEstimationHistogramBucket message with the following
// values:
// min_probability: 0.1
// max_probability: 0.2
// frequency: 42
// means that there are 42 records for which δ is in [0.1, 0.2). An
// important particular case is when min_probability = max_probability = 1:
// then, every individual who shares this quasi-identifier combination is in
// the dataset.
type AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket struct {
// Between 0 and 1.
MinProbability float64 `protobuf:"fixed64,1,opt,name=min_probability,json=minProbability,proto3" json:"min_probability,omitempty"`
// Always greater than or equal to min_probability.
MaxProbability float64 `protobuf:"fixed64,2,opt,name=max_probability,json=maxProbability,proto3" json:"max_probability,omitempty"`
// Number of records within these probability bounds.
BucketSize int64 `protobuf:"varint,5,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
// Sample of quasi-identifier tuple values in this bucket. The total
// number of classes returned per bucket is capped at 20.
BucketValues []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues `protobuf:"bytes,6,rep,name=bucket_values,json=bucketValues,proto3" json:"bucket_values,omitempty"`
// Total number of distinct quasi-identifier tuple values in this bucket.
BucketValueCount int64 `protobuf:"varint,7,opt,name=bucket_value_count,json=bucketValueCount,proto3" json:"bucket_value_count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Reset() {
*m = AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket{}
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) String() string {
return proto.CompactTextString(m)
}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) ProtoMessage() {
}
func (*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{33, 5, 1}
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Unmarshal(m, b)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Marshal(b, m, deterministic)
}
func (dst *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Merge(dst, src)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_Size() int {
return xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.Size(m)
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) XXX_DiscardUnknown() {
xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket.DiscardUnknown(m)
}
var xxx_messageInfo_AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket proto.InternalMessageInfo
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMinProbability() float64 {
if m != nil {
return m.MinProbability
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetMaxProbability() float64 {
if m != nil {
return m.MaxProbability
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketSize() int64 {
if m != nil {
return m.BucketSize
}
return 0
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValues() []*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues {
if m != nil {
return m.BucketValues
}
return nil
}
func (m *AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket) GetBucketValueCount() int64 {
if m != nil {
return m.BucketValueCount
}
return 0
}
// A value of a field, including its frequency.
type ValueFrequency struct {
// A value contained in the field in question.
Value *Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
// How many times the value is contained in the field.
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ValueFrequency) Reset() { *m = ValueFrequency{} }
func (m *ValueFrequency) String() string { return proto.CompactTextString(m) }
func (*ValueFrequency) ProtoMessage() {}
func (*ValueFrequency) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{34}
}
func (m *ValueFrequency) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValueFrequency.Unmarshal(m, b)
}
func (m *ValueFrequency) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ValueFrequency.Marshal(b, m, deterministic)
}
func (dst *ValueFrequency) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValueFrequency.Merge(dst, src)
}
func (m *ValueFrequency) XXX_Size() int {
return xxx_messageInfo_ValueFrequency.Size(m)
}
func (m *ValueFrequency) XXX_DiscardUnknown() {
xxx_messageInfo_ValueFrequency.DiscardUnknown(m)
}
var xxx_messageInfo_ValueFrequency proto.InternalMessageInfo
func (m *ValueFrequency) GetValue() *Value {
if m != nil {
return m.Value
}
return nil
}
func (m *ValueFrequency) GetCount() int64 {
if m != nil {
return m.Count
}
return 0
}
// Set of primitive values supported by the system.
// Note that for the purposes of inspection or transformation, the number
// of bytes considered to comprise a 'Value' is based on its representation
// as a UTF-8 encoded string. For example, if 'integer_value' is set to
// 123456789, the number of bytes would be counted as 9, even though an
// int64 only holds up to 8 bytes of data.
type Value struct {
// Types that are valid to be assigned to Type:
// *Value_IntegerValue
// *Value_FloatValue
// *Value_StringValue
// *Value_BooleanValue
// *Value_TimestampValue
// *Value_TimeValue
// *Value_DateValue
// *Value_DayOfWeekValue
Type isValue_Type `protobuf_oneof:"type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Value) Reset() { *m = Value{} }
func (m *Value) String() string { return proto.CompactTextString(m) }
func (*Value) ProtoMessage() {}
func (*Value) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{35}
}
func (m *Value) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Value.Unmarshal(m, b)
}
func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Value.Marshal(b, m, deterministic)
}
func (dst *Value) XXX_Merge(src proto.Message) {
xxx_messageInfo_Value.Merge(dst, src)
}
func (m *Value) XXX_Size() int {
return xxx_messageInfo_Value.Size(m)
}
func (m *Value) XXX_DiscardUnknown() {
xxx_messageInfo_Value.DiscardUnknown(m)
}
var xxx_messageInfo_Value proto.InternalMessageInfo
type isValue_Type interface {
isValue_Type()
}
type Value_IntegerValue struct {
IntegerValue int64 `protobuf:"varint,1,opt,name=integer_value,json=integerValue,proto3,oneof"`
}
type Value_FloatValue struct {
FloatValue float64 `protobuf:"fixed64,2,opt,name=float_value,json=floatValue,proto3,oneof"`
}
type Value_StringValue struct {
StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"`
}
type Value_BooleanValue struct {
BooleanValue bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue,proto3,oneof"`
}
type Value_TimestampValue struct {
TimestampValue *timestamp.Timestamp `protobuf:"bytes,5,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
}
type Value_TimeValue struct {
TimeValue *timeofday.TimeOfDay `protobuf:"bytes,6,opt,name=time_value,json=timeValue,proto3,oneof"`
}
type Value_DateValue struct {
DateValue *date.Date `protobuf:"bytes,7,opt,name=date_value,json=dateValue,proto3,oneof"`
}
type Value_DayOfWeekValue struct {
DayOfWeekValue dayofweek.DayOfWeek `protobuf:"varint,8,opt,name=day_of_week_value,json=dayOfWeekValue,proto3,enum=google.type.DayOfWeek,oneof"`
}
func (*Value_IntegerValue) isValue_Type() {}
func (*Value_FloatValue) isValue_Type() {}
func (*Value_StringValue) isValue_Type() {}
func (*Value_BooleanValue) isValue_Type() {}
func (*Value_TimestampValue) isValue_Type() {}
func (*Value_TimeValue) isValue_Type() {}
func (*Value_DateValue) isValue_Type() {}
func (*Value_DayOfWeekValue) isValue_Type() {}
func (m *Value) GetType() isValue_Type {
if m != nil {
return m.Type
}
return nil
}
func (m *Value) GetIntegerValue() int64 {
if x, ok := m.GetType().(*Value_IntegerValue); ok {
return x.IntegerValue
}
return 0
}
func (m *Value) GetFloatValue() float64 {
if x, ok := m.GetType().(*Value_FloatValue); ok {
return x.FloatValue
}
return 0
}
func (m *Value) GetStringValue() string {
if x, ok := m.GetType().(*Value_StringValue); ok {
return x.StringValue
}
return ""
}
func (m *Value) GetBooleanValue() bool {
if x, ok := m.GetType().(*Value_BooleanValue); ok {
return x.BooleanValue
}
return false
}
func (m *Value) GetTimestampValue() *timestamp.Timestamp {
if x, ok := m.GetType().(*Value_TimestampValue); ok {
return x.TimestampValue
}
return nil
}
func (m *Value) GetTimeValue() *timeofday.TimeOfDay {
if x, ok := m.GetType().(*Value_TimeValue); ok {
return x.TimeValue
}
return nil
}
func (m *Value) GetDateValue() *date.Date {
if x, ok := m.GetType().(*Value_DateValue); ok {
return x.DateValue
}
return nil
}
func (m *Value) GetDayOfWeekValue() dayofweek.DayOfWeek {
if x, ok := m.GetType().(*Value_DayOfWeekValue); ok {
return x.DayOfWeekValue
}
return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*Value) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _Value_OneofMarshaler, _Value_OneofUnmarshaler, _Value_OneofSizer, []interface{}{
(*Value_IntegerValue)(nil),
(*Value_FloatValue)(nil),
(*Value_StringValue)(nil),
(*Value_BooleanValue)(nil),
(*Value_TimestampValue)(nil),
(*Value_TimeValue)(nil),
(*Value_DateValue)(nil),
(*Value_DayOfWeekValue)(nil),
}
}
func _Value_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*Value)
// type
switch x := m.Type.(type) {
case *Value_IntegerValue:
b.EncodeVarint(1<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.IntegerValue))
case *Value_FloatValue:
b.EncodeVarint(2<<3 | proto.WireFixed64)
b.EncodeFixed64(math.Float64bits(x.FloatValue))
case *Value_StringValue:
b.EncodeVarint(3<<3 | proto.WireBytes)
b.EncodeStringBytes(x.StringValue)
case *Value_BooleanValue:
t := uint64(0)
if x.BooleanValue {
t = 1
}
b.EncodeVarint(4<<3 | proto.WireVarint)
b.EncodeVarint(t)
case *Value_TimestampValue:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TimestampValue); err != nil {
return err
}
case *Value_TimeValue:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TimeValue); err != nil {
return err
}
case *Value_DateValue:
b.EncodeVarint(7<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.DateValue); err != nil {
return err
}
case *Value_DayOfWeekValue:
b.EncodeVarint(8<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.DayOfWeekValue))
case nil:
default:
return fmt.Errorf("Value.Type has unexpected type %T", x)
}
return nil
}
func _Value_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*Value)
switch tag {
case 1: // type.integer_value
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Type = &Value_IntegerValue{int64(x)}
return true, err
case 2: // type.float_value
if wire != proto.WireFixed64 {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeFixed64()
m.Type = &Value_FloatValue{math.Float64frombits(x)}
return true, err
case 3: // type.string_value
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeStringBytes()
m.Type = &Value_StringValue{x}
return true, err
case 4: // type.boolean_value
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Type = &Value_BooleanValue{x != 0}
return true, err
case 5: // type.timestamp_value
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(timestamp.Timestamp)
err := b.DecodeMessage(msg)
m.Type = &Value_TimestampValue{msg}
return true, err
case 6: // type.time_value
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(timeofday.TimeOfDay)
err := b.DecodeMessage(msg)
m.Type = &Value_TimeValue{msg}
return true, err
case 7: // type.date_value
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(date.Date)
err := b.DecodeMessage(msg)
m.Type = &Value_DateValue{msg}
return true, err
case 8: // type.day_of_week_value
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Type = &Value_DayOfWeekValue{dayofweek.DayOfWeek(x)}
return true, err
default:
return false, nil
}
}
func _Value_OneofSizer(msg proto.Message) (n int) {
m := msg.(*Value)
// type
switch x := m.Type.(type) {
case *Value_IntegerValue:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.IntegerValue))
case *Value_FloatValue:
n += 1 // tag and wire
n += 8
case *Value_StringValue:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.StringValue)))
n += len(x.StringValue)
case *Value_BooleanValue:
n += 1 // tag and wire
n += 1
case *Value_TimestampValue:
s := proto.Size(x.TimestampValue)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Value_TimeValue:
s := proto.Size(x.TimeValue)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Value_DateValue:
s := proto.Size(x.DateValue)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Value_DayOfWeekValue:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.DayOfWeekValue))
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Message for infoType-dependent details parsed from quote.
type QuoteInfo struct {
// Object representation of the quote.
//
// Types that are valid to be assigned to ParsedQuote:
// *QuoteInfo_DateTime
ParsedQuote isQuoteInfo_ParsedQuote `protobuf_oneof:"parsed_quote"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *QuoteInfo) Reset() { *m = QuoteInfo{} }
func (m *QuoteInfo) String() string { return proto.CompactTextString(m) }
func (*QuoteInfo) ProtoMessage() {}
func (*QuoteInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{36}
}
func (m *QuoteInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QuoteInfo.Unmarshal(m, b)
}
func (m *QuoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_QuoteInfo.Marshal(b, m, deterministic)
}
func (dst *QuoteInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_QuoteInfo.Merge(dst, src)
}
func (m *QuoteInfo) XXX_Size() int {
return xxx_messageInfo_QuoteInfo.Size(m)
}
func (m *QuoteInfo) XXX_DiscardUnknown() {
xxx_messageInfo_QuoteInfo.DiscardUnknown(m)
}
var xxx_messageInfo_QuoteInfo proto.InternalMessageInfo
type isQuoteInfo_ParsedQuote interface {
isQuoteInfo_ParsedQuote()
}
type QuoteInfo_DateTime struct {
DateTime *DateTime `protobuf:"bytes,2,opt,name=date_time,json=dateTime,proto3,oneof"`
}
func (*QuoteInfo_DateTime) isQuoteInfo_ParsedQuote() {}
func (m *QuoteInfo) GetParsedQuote() isQuoteInfo_ParsedQuote {
if m != nil {
return m.ParsedQuote
}
return nil
}
func (m *QuoteInfo) GetDateTime() *DateTime {
if x, ok := m.GetParsedQuote().(*QuoteInfo_DateTime); ok {
return x.DateTime
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*QuoteInfo) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _QuoteInfo_OneofMarshaler, _QuoteInfo_OneofUnmarshaler, _QuoteInfo_OneofSizer, []interface{}{
(*QuoteInfo_DateTime)(nil),
}
}
func _QuoteInfo_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*QuoteInfo)
// parsed_quote
switch x := m.ParsedQuote.(type) {
case *QuoteInfo_DateTime:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.DateTime); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("QuoteInfo.ParsedQuote has unexpected type %T", x)
}
return nil
}
func _QuoteInfo_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*QuoteInfo)
switch tag {
case 2: // parsed_quote.date_time
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(DateTime)
err := b.DecodeMessage(msg)
m.ParsedQuote = &QuoteInfo_DateTime{msg}
return true, err
default:
return false, nil
}
}
func _QuoteInfo_OneofSizer(msg proto.Message) (n int) {
m := msg.(*QuoteInfo)
// parsed_quote
switch x := m.ParsedQuote.(type) {
case *QuoteInfo_DateTime:
s := proto.Size(x.DateTime)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Message for a date time object.
type DateTime struct {
// One or more of the following must be set. All fields are optional, but
// when set must be valid date or time values.
Date *date.Date `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
DayOfWeek dayofweek.DayOfWeek `protobuf:"varint,2,opt,name=day_of_week,json=dayOfWeek,proto3,enum=google.type.DayOfWeek" json:"day_of_week,omitempty"`
Time *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
TimeZone *DateTime_TimeZone `protobuf:"bytes,4,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DateTime) Reset() { *m = DateTime{} }
func (m *DateTime) String() string { return proto.CompactTextString(m) }
func (*DateTime) ProtoMessage() {}
func (*DateTime) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{37}
}
func (m *DateTime) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DateTime.Unmarshal(m, b)
}
func (m *DateTime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DateTime.Marshal(b, m, deterministic)
}
func (dst *DateTime) XXX_Merge(src proto.Message) {
xxx_messageInfo_DateTime.Merge(dst, src)
}
func (m *DateTime) XXX_Size() int {
return xxx_messageInfo_DateTime.Size(m)
}
func (m *DateTime) XXX_DiscardUnknown() {
xxx_messageInfo_DateTime.DiscardUnknown(m)
}
var xxx_messageInfo_DateTime proto.InternalMessageInfo
func (m *DateTime) GetDate() *date.Date {
if m != nil {
return m.Date
}
return nil
}
func (m *DateTime) GetDayOfWeek() dayofweek.DayOfWeek {
if m != nil {
return m.DayOfWeek
}
return dayofweek.DayOfWeek_DAY_OF_WEEK_UNSPECIFIED
}
func (m *DateTime) GetTime() *timeofday.TimeOfDay {
if m != nil {
return m.Time
}
return nil
}
func (m *DateTime) GetTimeZone() *DateTime_TimeZone {
if m != nil {
return m.TimeZone
}
return nil
}
type DateTime_TimeZone struct {
// Set only if the offset can be determined. Positive for time ahead of UTC.
// E.g. For "UTC-9", this value is -540.
OffsetMinutes int32 `protobuf:"varint,1,opt,name=offset_minutes,json=offsetMinutes,proto3" json:"offset_minutes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DateTime_TimeZone) Reset() { *m = DateTime_TimeZone{} }
func (m *DateTime_TimeZone) String() string { return proto.CompactTextString(m) }
func (*DateTime_TimeZone) ProtoMessage() {}
func (*DateTime_TimeZone) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{37, 0}
}
func (m *DateTime_TimeZone) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DateTime_TimeZone.Unmarshal(m, b)
}
func (m *DateTime_TimeZone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DateTime_TimeZone.Marshal(b, m, deterministic)
}
func (dst *DateTime_TimeZone) XXX_Merge(src proto.Message) {
xxx_messageInfo_DateTime_TimeZone.Merge(dst, src)
}
func (m *DateTime_TimeZone) XXX_Size() int {
return xxx_messageInfo_DateTime_TimeZone.Size(m)
}
func (m *DateTime_TimeZone) XXX_DiscardUnknown() {
xxx_messageInfo_DateTime_TimeZone.DiscardUnknown(m)
}
var xxx_messageInfo_DateTime_TimeZone proto.InternalMessageInfo
func (m *DateTime_TimeZone) GetOffsetMinutes() int32 {
if m != nil {
return m.OffsetMinutes
}
return 0
}
// The configuration that controls how the data will change.
type DeidentifyConfig struct {
// Types that are valid to be assigned to Transformation:
// *DeidentifyConfig_InfoTypeTransformations
// *DeidentifyConfig_RecordTransformations
Transformation isDeidentifyConfig_Transformation `protobuf_oneof:"transformation"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeidentifyConfig) Reset() { *m = DeidentifyConfig{} }
func (m *DeidentifyConfig) String() string { return proto.CompactTextString(m) }
func (*DeidentifyConfig) ProtoMessage() {}
func (*DeidentifyConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{38}
}
func (m *DeidentifyConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeidentifyConfig.Unmarshal(m, b)
}
func (m *DeidentifyConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeidentifyConfig.Marshal(b, m, deterministic)
}
func (dst *DeidentifyConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeidentifyConfig.Merge(dst, src)
}
func (m *DeidentifyConfig) XXX_Size() int {
return xxx_messageInfo_DeidentifyConfig.Size(m)
}
func (m *DeidentifyConfig) XXX_DiscardUnknown() {
xxx_messageInfo_DeidentifyConfig.DiscardUnknown(m)
}
var xxx_messageInfo_DeidentifyConfig proto.InternalMessageInfo
type isDeidentifyConfig_Transformation interface {
isDeidentifyConfig_Transformation()
}
type DeidentifyConfig_InfoTypeTransformations struct {
InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,1,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"`
}
type DeidentifyConfig_RecordTransformations struct {
RecordTransformations *RecordTransformations `protobuf:"bytes,2,opt,name=record_transformations,json=recordTransformations,proto3,oneof"`
}
func (*DeidentifyConfig_InfoTypeTransformations) isDeidentifyConfig_Transformation() {}
func (*DeidentifyConfig_RecordTransformations) isDeidentifyConfig_Transformation() {}
func (m *DeidentifyConfig) GetTransformation() isDeidentifyConfig_Transformation {
if m != nil {
return m.Transformation
}
return nil
}
func (m *DeidentifyConfig) GetInfoTypeTransformations() *InfoTypeTransformations {
if x, ok := m.GetTransformation().(*DeidentifyConfig_InfoTypeTransformations); ok {
return x.InfoTypeTransformations
}
return nil
}
func (m *DeidentifyConfig) GetRecordTransformations() *RecordTransformations {
if x, ok := m.GetTransformation().(*DeidentifyConfig_RecordTransformations); ok {
return x.RecordTransformations
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*DeidentifyConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _DeidentifyConfig_OneofMarshaler, _DeidentifyConfig_OneofUnmarshaler, _DeidentifyConfig_OneofSizer, []interface{}{
(*DeidentifyConfig_InfoTypeTransformations)(nil),
(*DeidentifyConfig_RecordTransformations)(nil),
}
}
func _DeidentifyConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*DeidentifyConfig)
// transformation
switch x := m.Transformation.(type) {
case *DeidentifyConfig_InfoTypeTransformations:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InfoTypeTransformations); err != nil {
return err
}
case *DeidentifyConfig_RecordTransformations:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RecordTransformations); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("DeidentifyConfig.Transformation has unexpected type %T", x)
}
return nil
}
func _DeidentifyConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*DeidentifyConfig)
switch tag {
case 1: // transformation.info_type_transformations
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InfoTypeTransformations)
err := b.DecodeMessage(msg)
m.Transformation = &DeidentifyConfig_InfoTypeTransformations{msg}
return true, err
case 2: // transformation.record_transformations
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RecordTransformations)
err := b.DecodeMessage(msg)
m.Transformation = &DeidentifyConfig_RecordTransformations{msg}
return true, err
default:
return false, nil
}
}
func _DeidentifyConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*DeidentifyConfig)
// transformation
switch x := m.Transformation.(type) {
case *DeidentifyConfig_InfoTypeTransformations:
s := proto.Size(x.InfoTypeTransformations)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *DeidentifyConfig_RecordTransformations:
s := proto.Size(x.RecordTransformations)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// A rule for transforming a value.
type PrimitiveTransformation struct {
// Types that are valid to be assigned to Transformation:
// *PrimitiveTransformation_ReplaceConfig
// *PrimitiveTransformation_RedactConfig
// *PrimitiveTransformation_CharacterMaskConfig
// *PrimitiveTransformation_CryptoReplaceFfxFpeConfig
// *PrimitiveTransformation_FixedSizeBucketingConfig
// *PrimitiveTransformation_BucketingConfig
// *PrimitiveTransformation_ReplaceWithInfoTypeConfig
// *PrimitiveTransformation_TimePartConfig
// *PrimitiveTransformation_CryptoHashConfig
// *PrimitiveTransformation_DateShiftConfig
Transformation isPrimitiveTransformation_Transformation `protobuf_oneof:"transformation"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PrimitiveTransformation) Reset() { *m = PrimitiveTransformation{} }
func (m *PrimitiveTransformation) String() string { return proto.CompactTextString(m) }
func (*PrimitiveTransformation) ProtoMessage() {}
func (*PrimitiveTransformation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{39}
}
func (m *PrimitiveTransformation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PrimitiveTransformation.Unmarshal(m, b)
}
func (m *PrimitiveTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PrimitiveTransformation.Marshal(b, m, deterministic)
}
func (dst *PrimitiveTransformation) XXX_Merge(src proto.Message) {
xxx_messageInfo_PrimitiveTransformation.Merge(dst, src)
}
func (m *PrimitiveTransformation) XXX_Size() int {
return xxx_messageInfo_PrimitiveTransformation.Size(m)
}
func (m *PrimitiveTransformation) XXX_DiscardUnknown() {
xxx_messageInfo_PrimitiveTransformation.DiscardUnknown(m)
}
var xxx_messageInfo_PrimitiveTransformation proto.InternalMessageInfo
type isPrimitiveTransformation_Transformation interface {
isPrimitiveTransformation_Transformation()
}
type PrimitiveTransformation_ReplaceConfig struct {
ReplaceConfig *ReplaceValueConfig `protobuf:"bytes,1,opt,name=replace_config,json=replaceConfig,proto3,oneof"`
}
type PrimitiveTransformation_RedactConfig struct {
RedactConfig *RedactConfig `protobuf:"bytes,2,opt,name=redact_config,json=redactConfig,proto3,oneof"`
}
type PrimitiveTransformation_CharacterMaskConfig struct {
CharacterMaskConfig *CharacterMaskConfig `protobuf:"bytes,3,opt,name=character_mask_config,json=characterMaskConfig,proto3,oneof"`
}
type PrimitiveTransformation_CryptoReplaceFfxFpeConfig struct {
CryptoReplaceFfxFpeConfig *CryptoReplaceFfxFpeConfig `protobuf:"bytes,4,opt,name=crypto_replace_ffx_fpe_config,json=cryptoReplaceFfxFpeConfig,proto3,oneof"`
}
type PrimitiveTransformation_FixedSizeBucketingConfig struct {
FixedSizeBucketingConfig *FixedSizeBucketingConfig `protobuf:"bytes,5,opt,name=fixed_size_bucketing_config,json=fixedSizeBucketingConfig,proto3,oneof"`
}
type PrimitiveTransformation_BucketingConfig struct {
BucketingConfig *BucketingConfig `protobuf:"bytes,6,opt,name=bucketing_config,json=bucketingConfig,proto3,oneof"`
}
type PrimitiveTransformation_ReplaceWithInfoTypeConfig struct {
ReplaceWithInfoTypeConfig *ReplaceWithInfoTypeConfig `protobuf:"bytes,7,opt,name=replace_with_info_type_config,json=replaceWithInfoTypeConfig,proto3,oneof"`
}
type PrimitiveTransformation_TimePartConfig struct {
TimePartConfig *TimePartConfig `protobuf:"bytes,8,opt,name=time_part_config,json=timePartConfig,proto3,oneof"`
}
type PrimitiveTransformation_CryptoHashConfig struct {
CryptoHashConfig *CryptoHashConfig `protobuf:"bytes,9,opt,name=crypto_hash_config,json=cryptoHashConfig,proto3,oneof"`
}
type PrimitiveTransformation_DateShiftConfig struct {
DateShiftConfig *DateShiftConfig `protobuf:"bytes,11,opt,name=date_shift_config,json=dateShiftConfig,proto3,oneof"`
}
func (*PrimitiveTransformation_ReplaceConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_RedactConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_CharacterMaskConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_CryptoReplaceFfxFpeConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_FixedSizeBucketingConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_BucketingConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_ReplaceWithInfoTypeConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_TimePartConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_CryptoHashConfig) isPrimitiveTransformation_Transformation() {}
func (*PrimitiveTransformation_DateShiftConfig) isPrimitiveTransformation_Transformation() {}
func (m *PrimitiveTransformation) GetTransformation() isPrimitiveTransformation_Transformation {
if m != nil {
return m.Transformation
}
return nil
}
func (m *PrimitiveTransformation) GetReplaceConfig() *ReplaceValueConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_ReplaceConfig); ok {
return x.ReplaceConfig
}
return nil
}
func (m *PrimitiveTransformation) GetRedactConfig() *RedactConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_RedactConfig); ok {
return x.RedactConfig
}
return nil
}
func (m *PrimitiveTransformation) GetCharacterMaskConfig() *CharacterMaskConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_CharacterMaskConfig); ok {
return x.CharacterMaskConfig
}
return nil
}
func (m *PrimitiveTransformation) GetCryptoReplaceFfxFpeConfig() *CryptoReplaceFfxFpeConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig); ok {
return x.CryptoReplaceFfxFpeConfig
}
return nil
}
func (m *PrimitiveTransformation) GetFixedSizeBucketingConfig() *FixedSizeBucketingConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_FixedSizeBucketingConfig); ok {
return x.FixedSizeBucketingConfig
}
return nil
}
func (m *PrimitiveTransformation) GetBucketingConfig() *BucketingConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_BucketingConfig); ok {
return x.BucketingConfig
}
return nil
}
func (m *PrimitiveTransformation) GetReplaceWithInfoTypeConfig() *ReplaceWithInfoTypeConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_ReplaceWithInfoTypeConfig); ok {
return x.ReplaceWithInfoTypeConfig
}
return nil
}
func (m *PrimitiveTransformation) GetTimePartConfig() *TimePartConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_TimePartConfig); ok {
return x.TimePartConfig
}
return nil
}
func (m *PrimitiveTransformation) GetCryptoHashConfig() *CryptoHashConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_CryptoHashConfig); ok {
return x.CryptoHashConfig
}
return nil
}
func (m *PrimitiveTransformation) GetDateShiftConfig() *DateShiftConfig {
if x, ok := m.GetTransformation().(*PrimitiveTransformation_DateShiftConfig); ok {
return x.DateShiftConfig
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*PrimitiveTransformation) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _PrimitiveTransformation_OneofMarshaler, _PrimitiveTransformation_OneofUnmarshaler, _PrimitiveTransformation_OneofSizer, []interface{}{
(*PrimitiveTransformation_ReplaceConfig)(nil),
(*PrimitiveTransformation_RedactConfig)(nil),
(*PrimitiveTransformation_CharacterMaskConfig)(nil),
(*PrimitiveTransformation_CryptoReplaceFfxFpeConfig)(nil),
(*PrimitiveTransformation_FixedSizeBucketingConfig)(nil),
(*PrimitiveTransformation_BucketingConfig)(nil),
(*PrimitiveTransformation_ReplaceWithInfoTypeConfig)(nil),
(*PrimitiveTransformation_TimePartConfig)(nil),
(*PrimitiveTransformation_CryptoHashConfig)(nil),
(*PrimitiveTransformation_DateShiftConfig)(nil),
}
}
func _PrimitiveTransformation_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*PrimitiveTransformation)
// transformation
switch x := m.Transformation.(type) {
case *PrimitiveTransformation_ReplaceConfig:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ReplaceConfig); err != nil {
return err
}
case *PrimitiveTransformation_RedactConfig:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RedactConfig); err != nil {
return err
}
case *PrimitiveTransformation_CharacterMaskConfig:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CharacterMaskConfig); err != nil {
return err
}
case *PrimitiveTransformation_CryptoReplaceFfxFpeConfig:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CryptoReplaceFfxFpeConfig); err != nil {
return err
}
case *PrimitiveTransformation_FixedSizeBucketingConfig:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.FixedSizeBucketingConfig); err != nil {
return err
}
case *PrimitiveTransformation_BucketingConfig:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.BucketingConfig); err != nil {
return err
}
case *PrimitiveTransformation_ReplaceWithInfoTypeConfig:
b.EncodeVarint(7<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ReplaceWithInfoTypeConfig); err != nil {
return err
}
case *PrimitiveTransformation_TimePartConfig:
b.EncodeVarint(8<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TimePartConfig); err != nil {
return err
}
case *PrimitiveTransformation_CryptoHashConfig:
b.EncodeVarint(9<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CryptoHashConfig); err != nil {
return err
}
case *PrimitiveTransformation_DateShiftConfig:
b.EncodeVarint(11<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.DateShiftConfig); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("PrimitiveTransformation.Transformation has unexpected type %T", x)
}
return nil
}
func _PrimitiveTransformation_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*PrimitiveTransformation)
switch tag {
case 1: // transformation.replace_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ReplaceValueConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_ReplaceConfig{msg}
return true, err
case 2: // transformation.redact_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RedactConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_RedactConfig{msg}
return true, err
case 3: // transformation.character_mask_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CharacterMaskConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_CharacterMaskConfig{msg}
return true, err
case 4: // transformation.crypto_replace_ffx_fpe_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CryptoReplaceFfxFpeConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_CryptoReplaceFfxFpeConfig{msg}
return true, err
case 5: // transformation.fixed_size_bucketing_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(FixedSizeBucketingConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_FixedSizeBucketingConfig{msg}
return true, err
case 6: // transformation.bucketing_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(BucketingConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_BucketingConfig{msg}
return true, err
case 7: // transformation.replace_with_info_type_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ReplaceWithInfoTypeConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_ReplaceWithInfoTypeConfig{msg}
return true, err
case 8: // transformation.time_part_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TimePartConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_TimePartConfig{msg}
return true, err
case 9: // transformation.crypto_hash_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CryptoHashConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_CryptoHashConfig{msg}
return true, err
case 11: // transformation.date_shift_config
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(DateShiftConfig)
err := b.DecodeMessage(msg)
m.Transformation = &PrimitiveTransformation_DateShiftConfig{msg}
return true, err
default:
return false, nil
}
}
func _PrimitiveTransformation_OneofSizer(msg proto.Message) (n int) {
m := msg.(*PrimitiveTransformation)
// transformation
switch x := m.Transformation.(type) {
case *PrimitiveTransformation_ReplaceConfig:
s := proto.Size(x.ReplaceConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_RedactConfig:
s := proto.Size(x.RedactConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_CharacterMaskConfig:
s := proto.Size(x.CharacterMaskConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_CryptoReplaceFfxFpeConfig:
s := proto.Size(x.CryptoReplaceFfxFpeConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_FixedSizeBucketingConfig:
s := proto.Size(x.FixedSizeBucketingConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_BucketingConfig:
s := proto.Size(x.BucketingConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_ReplaceWithInfoTypeConfig:
s := proto.Size(x.ReplaceWithInfoTypeConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_TimePartConfig:
s := proto.Size(x.TimePartConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_CryptoHashConfig:
s := proto.Size(x.CryptoHashConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *PrimitiveTransformation_DateShiftConfig:
s := proto.Size(x.DateShiftConfig)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
// portion of the value.
type TimePartConfig struct {
PartToExtract TimePartConfig_TimePart `protobuf:"varint,1,opt,name=part_to_extract,json=partToExtract,proto3,enum=google.privacy.dlp.v2.TimePartConfig_TimePart" json:"part_to_extract,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TimePartConfig) Reset() { *m = TimePartConfig{} }
func (m *TimePartConfig) String() string { return proto.CompactTextString(m) }
func (*TimePartConfig) ProtoMessage() {}
func (*TimePartConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{40}
}
func (m *TimePartConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TimePartConfig.Unmarshal(m, b)
}
func (m *TimePartConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TimePartConfig.Marshal(b, m, deterministic)
}
func (dst *TimePartConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_TimePartConfig.Merge(dst, src)
}
func (m *TimePartConfig) XXX_Size() int {
return xxx_messageInfo_TimePartConfig.Size(m)
}
func (m *TimePartConfig) XXX_DiscardUnknown() {
xxx_messageInfo_TimePartConfig.DiscardUnknown(m)
}
var xxx_messageInfo_TimePartConfig proto.InternalMessageInfo
func (m *TimePartConfig) GetPartToExtract() TimePartConfig_TimePart {
if m != nil {
return m.PartToExtract
}
return TimePartConfig_TIME_PART_UNSPECIFIED
}
// Pseudonymization method that generates surrogates via cryptographic hashing.
// Uses SHA-256.
// The key size must be either 32 or 64 bytes.
// Outputs a 32 byte digest as an uppercase hex string
// (for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE).
// Currently, only string and integer values can be hashed.
type CryptoHashConfig struct {
// The key used by the hash function.
CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CryptoHashConfig) Reset() { *m = CryptoHashConfig{} }
func (m *CryptoHashConfig) String() string { return proto.CompactTextString(m) }
func (*CryptoHashConfig) ProtoMessage() {}
func (*CryptoHashConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{41}
}
func (m *CryptoHashConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CryptoHashConfig.Unmarshal(m, b)
}
func (m *CryptoHashConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CryptoHashConfig.Marshal(b, m, deterministic)
}
func (dst *CryptoHashConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_CryptoHashConfig.Merge(dst, src)
}
func (m *CryptoHashConfig) XXX_Size() int {
return xxx_messageInfo_CryptoHashConfig.Size(m)
}
func (m *CryptoHashConfig) XXX_DiscardUnknown() {
xxx_messageInfo_CryptoHashConfig.DiscardUnknown(m)
}
var xxx_messageInfo_CryptoHashConfig proto.InternalMessageInfo
func (m *CryptoHashConfig) GetCryptoKey() *CryptoKey {
if m != nil {
return m.CryptoKey
}
return nil
}
// Replace each input value with a given `Value`.
type ReplaceValueConfig struct {
// Value to replace it with.
NewValue *Value `protobuf:"bytes,1,opt,name=new_value,json=newValue,proto3" json:"new_value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReplaceValueConfig) Reset() { *m = ReplaceValueConfig{} }
func (m *ReplaceValueConfig) String() string { return proto.CompactTextString(m) }
func (*ReplaceValueConfig) ProtoMessage() {}
func (*ReplaceValueConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{42}
}
func (m *ReplaceValueConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplaceValueConfig.Unmarshal(m, b)
}
func (m *ReplaceValueConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplaceValueConfig.Marshal(b, m, deterministic)
}
func (dst *ReplaceValueConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplaceValueConfig.Merge(dst, src)
}
func (m *ReplaceValueConfig) XXX_Size() int {
return xxx_messageInfo_ReplaceValueConfig.Size(m)
}
func (m *ReplaceValueConfig) XXX_DiscardUnknown() {
xxx_messageInfo_ReplaceValueConfig.DiscardUnknown(m)
}
var xxx_messageInfo_ReplaceValueConfig proto.InternalMessageInfo
func (m *ReplaceValueConfig) GetNewValue() *Value {
if m != nil {
return m.NewValue
}
return nil
}
// Replace each matching finding with the name of the info_type.
type ReplaceWithInfoTypeConfig struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReplaceWithInfoTypeConfig) Reset() { *m = ReplaceWithInfoTypeConfig{} }
func (m *ReplaceWithInfoTypeConfig) String() string { return proto.CompactTextString(m) }
func (*ReplaceWithInfoTypeConfig) ProtoMessage() {}
func (*ReplaceWithInfoTypeConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{43}
}
func (m *ReplaceWithInfoTypeConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplaceWithInfoTypeConfig.Unmarshal(m, b)
}
func (m *ReplaceWithInfoTypeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplaceWithInfoTypeConfig.Marshal(b, m, deterministic)
}
func (dst *ReplaceWithInfoTypeConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplaceWithInfoTypeConfig.Merge(dst, src)
}
func (m *ReplaceWithInfoTypeConfig) XXX_Size() int {
return xxx_messageInfo_ReplaceWithInfoTypeConfig.Size(m)
}
func (m *ReplaceWithInfoTypeConfig) XXX_DiscardUnknown() {
xxx_messageInfo_ReplaceWithInfoTypeConfig.DiscardUnknown(m)
}
var xxx_messageInfo_ReplaceWithInfoTypeConfig proto.InternalMessageInfo
// Redact a given value. For example, if used with an `InfoTypeTransformation`
// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
// output would be 'My phone number is '.
type RedactConfig struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RedactConfig) Reset() { *m = RedactConfig{} }
func (m *RedactConfig) String() string { return proto.CompactTextString(m) }
func (*RedactConfig) ProtoMessage() {}
func (*RedactConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{44}
}
func (m *RedactConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RedactConfig.Unmarshal(m, b)
}
func (m *RedactConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RedactConfig.Marshal(b, m, deterministic)
}
func (dst *RedactConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RedactConfig.Merge(dst, src)
}
func (m *RedactConfig) XXX_Size() int {
return xxx_messageInfo_RedactConfig.Size(m)
}
func (m *RedactConfig) XXX_DiscardUnknown() {
xxx_messageInfo_RedactConfig.DiscardUnknown(m)
}
var xxx_messageInfo_RedactConfig proto.InternalMessageInfo
// Characters to skip when doing deidentification of a value. These will be left
// alone and skipped.
type CharsToIgnore struct {
// Types that are valid to be assigned to Characters:
// *CharsToIgnore_CharactersToSkip
// *CharsToIgnore_CommonCharactersToIgnore
Characters isCharsToIgnore_Characters `protobuf_oneof:"characters"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CharsToIgnore) Reset() { *m = CharsToIgnore{} }
func (m *CharsToIgnore) String() string { return proto.CompactTextString(m) }
func (*CharsToIgnore) ProtoMessage() {}
func (*CharsToIgnore) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{45}
}
func (m *CharsToIgnore) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CharsToIgnore.Unmarshal(m, b)
}
func (m *CharsToIgnore) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CharsToIgnore.Marshal(b, m, deterministic)
}
func (dst *CharsToIgnore) XXX_Merge(src proto.Message) {
xxx_messageInfo_CharsToIgnore.Merge(dst, src)
}
func (m *CharsToIgnore) XXX_Size() int {
return xxx_messageInfo_CharsToIgnore.Size(m)
}
func (m *CharsToIgnore) XXX_DiscardUnknown() {
xxx_messageInfo_CharsToIgnore.DiscardUnknown(m)
}
var xxx_messageInfo_CharsToIgnore proto.InternalMessageInfo
type isCharsToIgnore_Characters interface {
isCharsToIgnore_Characters()
}
type CharsToIgnore_CharactersToSkip struct {
CharactersToSkip string `protobuf:"bytes,1,opt,name=characters_to_skip,json=charactersToSkip,proto3,oneof"`
}
type CharsToIgnore_CommonCharactersToIgnore struct {
CommonCharactersToIgnore CharsToIgnore_CommonCharsToIgnore `protobuf:"varint,2,opt,name=common_characters_to_ignore,json=commonCharactersToIgnore,proto3,enum=google.privacy.dlp.v2.CharsToIgnore_CommonCharsToIgnore,oneof"`
}
func (*CharsToIgnore_CharactersToSkip) isCharsToIgnore_Characters() {}
func (*CharsToIgnore_CommonCharactersToIgnore) isCharsToIgnore_Characters() {}
func (m *CharsToIgnore) GetCharacters() isCharsToIgnore_Characters {
if m != nil {
return m.Characters
}
return nil
}
func (m *CharsToIgnore) GetCharactersToSkip() string {
if x, ok := m.GetCharacters().(*CharsToIgnore_CharactersToSkip); ok {
return x.CharactersToSkip
}
return ""
}
func (m *CharsToIgnore) GetCommonCharactersToIgnore() CharsToIgnore_CommonCharsToIgnore {
if x, ok := m.GetCharacters().(*CharsToIgnore_CommonCharactersToIgnore); ok {
return x.CommonCharactersToIgnore
}
return CharsToIgnore_COMMON_CHARS_TO_IGNORE_UNSPECIFIED
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*CharsToIgnore) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _CharsToIgnore_OneofMarshaler, _CharsToIgnore_OneofUnmarshaler, _CharsToIgnore_OneofSizer, []interface{}{
(*CharsToIgnore_CharactersToSkip)(nil),
(*CharsToIgnore_CommonCharactersToIgnore)(nil),
}
}
func _CharsToIgnore_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*CharsToIgnore)
// characters
switch x := m.Characters.(type) {
case *CharsToIgnore_CharactersToSkip:
b.EncodeVarint(1<<3 | proto.WireBytes)
b.EncodeStringBytes(x.CharactersToSkip)
case *CharsToIgnore_CommonCharactersToIgnore:
b.EncodeVarint(2<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.CommonCharactersToIgnore))
case nil:
default:
return fmt.Errorf("CharsToIgnore.Characters has unexpected type %T", x)
}
return nil
}
func _CharsToIgnore_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*CharsToIgnore)
switch tag {
case 1: // characters.characters_to_skip
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeStringBytes()
m.Characters = &CharsToIgnore_CharactersToSkip{x}
return true, err
case 2: // characters.common_characters_to_ignore
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Characters = &CharsToIgnore_CommonCharactersToIgnore{CharsToIgnore_CommonCharsToIgnore(x)}
return true, err
default:
return false, nil
}
}
func _CharsToIgnore_OneofSizer(msg proto.Message) (n int) {
m := msg.(*CharsToIgnore)
// characters
switch x := m.Characters.(type) {
case *CharsToIgnore_CharactersToSkip:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.CharactersToSkip)))
n += len(x.CharactersToSkip)
case *CharsToIgnore_CommonCharactersToIgnore:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.CommonCharactersToIgnore))
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Partially mask a string by replacing a given number of characters with a
// fixed character. Masking can start from the beginning or end of the string.
// This can be used on data of any type (numbers, longs, and so on) and when
// de-identifying structured data we'll attempt to preserve the original data's
// type. (This allows you to take a long like 123 and modify it to a string like
// **3.
type CharacterMaskConfig struct {
// Character to mask the sensitive values&mdash;for example, "*" for an
// alphabetic string such as name, or "0" for a numeric string such as ZIP
// code or credit card number. String must have length 1. If not supplied, we
// will default to "*" for strings, 0 for digits.
MaskingCharacter string `protobuf:"bytes,1,opt,name=masking_character,json=maskingCharacter,proto3" json:"masking_character,omitempty"`
// Number of characters to mask. If not set, all matching chars will be
// masked. Skipped characters do not count towards this tally.
NumberToMask int32 `protobuf:"varint,2,opt,name=number_to_mask,json=numberToMask,proto3" json:"number_to_mask,omitempty"`
// Mask characters in reverse order. For example, if `masking_character` is
// '0', number_to_mask is 14, and `reverse_order` is false, then
// 1234-5678-9012-3456 -> 00000000000000-3456
// If `masking_character` is '*', `number_to_mask` is 3, and `reverse_order`
// is true, then 12345 -> 12***
ReverseOrder bool `protobuf:"varint,3,opt,name=reverse_order,json=reverseOrder,proto3" json:"reverse_order,omitempty"`
// When masking a string, items in this list will be skipped when replacing.
// For example, if your string is 555-555-5555 and you ask us to skip `-` and
// mask 5 chars with * we would produce ***-*55-5555.
CharactersToIgnore []*CharsToIgnore `protobuf:"bytes,4,rep,name=characters_to_ignore,json=charactersToIgnore,proto3" json:"characters_to_ignore,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CharacterMaskConfig) Reset() { *m = CharacterMaskConfig{} }
func (m *CharacterMaskConfig) String() string { return proto.CompactTextString(m) }
func (*CharacterMaskConfig) ProtoMessage() {}
func (*CharacterMaskConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{46}
}
func (m *CharacterMaskConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CharacterMaskConfig.Unmarshal(m, b)
}
func (m *CharacterMaskConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CharacterMaskConfig.Marshal(b, m, deterministic)
}
func (dst *CharacterMaskConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_CharacterMaskConfig.Merge(dst, src)
}
func (m *CharacterMaskConfig) XXX_Size() int {
return xxx_messageInfo_CharacterMaskConfig.Size(m)
}
func (m *CharacterMaskConfig) XXX_DiscardUnknown() {
xxx_messageInfo_CharacterMaskConfig.DiscardUnknown(m)
}
var xxx_messageInfo_CharacterMaskConfig proto.InternalMessageInfo
func (m *CharacterMaskConfig) GetMaskingCharacter() string {
if m != nil {
return m.MaskingCharacter
}
return ""
}
func (m *CharacterMaskConfig) GetNumberToMask() int32 {
if m != nil {
return m.NumberToMask
}
return 0
}
func (m *CharacterMaskConfig) GetReverseOrder() bool {
if m != nil {
return m.ReverseOrder
}
return false
}
func (m *CharacterMaskConfig) GetCharactersToIgnore() []*CharsToIgnore {
if m != nil {
return m.CharactersToIgnore
}
return nil
}
// Buckets values based on fixed size ranges. The
// Bucketing transformation can provide all of this functionality,
// but requires more configuration. This message is provided as a convenience to
// the user for simple bucketing strategies.
//
// The transformed value will be a hyphenated string of
// <lower_bound>-<upper_bound>, i.e if lower_bound = 10 and upper_bound = 20
// all values that are within this bucket will be replaced with "10-20".
//
// This can be used on data of type: double, long.
//
// If the bound Value type differs from the type of data
// being transformed, we will first attempt converting the type of the data to
// be transformed to match the type of the bound before comparing.
//
// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
type FixedSizeBucketingConfig struct {
// Lower bound value of buckets. All values less than `lower_bound` are
// grouped together into a single bucket; for example if `lower_bound` = 10,
// then all values less than 10 are replaced with the value “-10”. [Required].
LowerBound *Value `protobuf:"bytes,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
// Upper bound value of buckets. All values greater than upper_bound are
// grouped together into a single bucket; for example if `upper_bound` = 89,
// then all values greater than 89 are replaced with the value “89+”.
// [Required].
UpperBound *Value `protobuf:"bytes,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
// Size of each bucket (except for minimum and maximum buckets). So if
// `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
// following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
// 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. [Required].
BucketSize float64 `protobuf:"fixed64,3,opt,name=bucket_size,json=bucketSize,proto3" json:"bucket_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FixedSizeBucketingConfig) Reset() { *m = FixedSizeBucketingConfig{} }
func (m *FixedSizeBucketingConfig) String() string { return proto.CompactTextString(m) }
func (*FixedSizeBucketingConfig) ProtoMessage() {}
func (*FixedSizeBucketingConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{47}
}
func (m *FixedSizeBucketingConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FixedSizeBucketingConfig.Unmarshal(m, b)
}
func (m *FixedSizeBucketingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FixedSizeBucketingConfig.Marshal(b, m, deterministic)
}
func (dst *FixedSizeBucketingConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_FixedSizeBucketingConfig.Merge(dst, src)
}
func (m *FixedSizeBucketingConfig) XXX_Size() int {
return xxx_messageInfo_FixedSizeBucketingConfig.Size(m)
}
func (m *FixedSizeBucketingConfig) XXX_DiscardUnknown() {
xxx_messageInfo_FixedSizeBucketingConfig.DiscardUnknown(m)
}
var xxx_messageInfo_FixedSizeBucketingConfig proto.InternalMessageInfo
func (m *FixedSizeBucketingConfig) GetLowerBound() *Value {
if m != nil {
return m.LowerBound
}
return nil
}
func (m *FixedSizeBucketingConfig) GetUpperBound() *Value {
if m != nil {
return m.UpperBound
}
return nil
}
func (m *FixedSizeBucketingConfig) GetBucketSize() float64 {
if m != nil {
return m.BucketSize
}
return 0
}
// Generalization function that buckets values based on ranges. The ranges and
// replacement values are dynamically provided by the user for custom behavior,
// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
// This can be used on
// data of type: number, long, string, timestamp.
// If the bound `Value` type differs from the type of data being transformed, we
// will first attempt converting the type of the data to be transformed to match
// the type of the bound before comparing.
// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
type BucketingConfig struct {
// Set of buckets. Ranges must be non-overlapping.
Buckets []*BucketingConfig_Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BucketingConfig) Reset() { *m = BucketingConfig{} }
func (m *BucketingConfig) String() string { return proto.CompactTextString(m) }
func (*BucketingConfig) ProtoMessage() {}
func (*BucketingConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{48}
}
func (m *BucketingConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BucketingConfig.Unmarshal(m, b)
}
func (m *BucketingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BucketingConfig.Marshal(b, m, deterministic)
}
func (dst *BucketingConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_BucketingConfig.Merge(dst, src)
}
func (m *BucketingConfig) XXX_Size() int {
return xxx_messageInfo_BucketingConfig.Size(m)
}
func (m *BucketingConfig) XXX_DiscardUnknown() {
xxx_messageInfo_BucketingConfig.DiscardUnknown(m)
}
var xxx_messageInfo_BucketingConfig proto.InternalMessageInfo
func (m *BucketingConfig) GetBuckets() []*BucketingConfig_Bucket {
if m != nil {
return m.Buckets
}
return nil
}
// Bucket is represented as a range, along with replacement values.
type BucketingConfig_Bucket struct {
// Lower bound of the range, inclusive. Type should be the same as max if
// used.
Min *Value `protobuf:"bytes,1,opt,name=min,proto3" json:"min,omitempty"`
// Upper bound of the range, exclusive; type must match min.
Max *Value `protobuf:"bytes,2,opt,name=max,proto3" json:"max,omitempty"`
// Replacement value for this bucket. If not provided
// the default behavior will be to hyphenate the min-max range.
ReplacementValue *Value `protobuf:"bytes,3,opt,name=replacement_value,json=replacementValue,proto3" json:"replacement_value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BucketingConfig_Bucket) Reset() { *m = BucketingConfig_Bucket{} }
func (m *BucketingConfig_Bucket) String() string { return proto.CompactTextString(m) }
func (*BucketingConfig_Bucket) ProtoMessage() {}
func (*BucketingConfig_Bucket) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{48, 0}
}
func (m *BucketingConfig_Bucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BucketingConfig_Bucket.Unmarshal(m, b)
}
func (m *BucketingConfig_Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BucketingConfig_Bucket.Marshal(b, m, deterministic)
}
func (dst *BucketingConfig_Bucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_BucketingConfig_Bucket.Merge(dst, src)
}
func (m *BucketingConfig_Bucket) XXX_Size() int {
return xxx_messageInfo_BucketingConfig_Bucket.Size(m)
}
func (m *BucketingConfig_Bucket) XXX_DiscardUnknown() {
xxx_messageInfo_BucketingConfig_Bucket.DiscardUnknown(m)
}
var xxx_messageInfo_BucketingConfig_Bucket proto.InternalMessageInfo
func (m *BucketingConfig_Bucket) GetMin() *Value {
if m != nil {
return m.Min
}
return nil
}
func (m *BucketingConfig_Bucket) GetMax() *Value {
if m != nil {
return m.Max
}
return nil
}
func (m *BucketingConfig_Bucket) GetReplacementValue() *Value {
if m != nil {
return m.ReplacementValue
}
return nil
}
// Replaces an identifier with a surrogate using FPE with the FFX
// mode of operation; however when used in the `ReidentifyContent` API method,
// it serves the opposite function by reversing the surrogate back into
// the original identifier.
// The identifier must be encoded as ASCII.
// 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.
// See https://cloud.google.com/dlp/docs/pseudonymization to learn more.
type CryptoReplaceFfxFpeConfig struct {
// The key used by the encryption algorithm. [required]
CryptoKey *CryptoKey `protobuf:"bytes,1,opt,name=crypto_key,json=cryptoKey,proto3" json:"crypto_key,omitempty"`
// The 'tweak', a context may be used for higher security since the same
// identifier in two different contexts won't be given the same surrogate. 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
Context *FieldId `protobuf:"bytes,2,opt,name=context,proto3" json:"context,omitempty"`
// Types that are valid to be assigned to Alphabet:
// *CryptoReplaceFfxFpeConfig_CommonAlphabet
// *CryptoReplaceFfxFpeConfig_CustomAlphabet
// *CryptoReplaceFfxFpeConfig_Radix
Alphabet isCryptoReplaceFfxFpeConfig_Alphabet `protobuf_oneof:"alphabet"`
// The custom infoType to annotate the surrogate with.
// This annotation will be applied to the surrogate by prefixing it with
// the name of the custom infoType 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 infoType 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 infoType
// [`SurrogateType`](/dlp/docs/reference/rest/v2/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 infoType 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 infoType 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
SurrogateInfoType *InfoType `protobuf:"bytes,8,opt,name=surrogate_info_type,json=surrogateInfoType,proto3" json:"surrogate_info_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CryptoReplaceFfxFpeConfig) Reset() { *m = CryptoReplaceFfxFpeConfig{} }
func (m *CryptoReplaceFfxFpeConfig) String() string { return proto.CompactTextString(m) }
func (*CryptoReplaceFfxFpeConfig) ProtoMessage() {}
func (*CryptoReplaceFfxFpeConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{49}
}
func (m *CryptoReplaceFfxFpeConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CryptoReplaceFfxFpeConfig.Unmarshal(m, b)
}
func (m *CryptoReplaceFfxFpeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CryptoReplaceFfxFpeConfig.Marshal(b, m, deterministic)
}
func (dst *CryptoReplaceFfxFpeConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_CryptoReplaceFfxFpeConfig.Merge(dst, src)
}
func (m *CryptoReplaceFfxFpeConfig) XXX_Size() int {
return xxx_messageInfo_CryptoReplaceFfxFpeConfig.Size(m)
}
func (m *CryptoReplaceFfxFpeConfig) XXX_DiscardUnknown() {
xxx_messageInfo_CryptoReplaceFfxFpeConfig.DiscardUnknown(m)
}
var xxx_messageInfo_CryptoReplaceFfxFpeConfig proto.InternalMessageInfo
func (m *CryptoReplaceFfxFpeConfig) GetCryptoKey() *CryptoKey {
if m != nil {
return m.CryptoKey
}
return nil
}
func (m *CryptoReplaceFfxFpeConfig) GetContext() *FieldId {
if m != nil {
return m.Context
}
return nil
}
type isCryptoReplaceFfxFpeConfig_Alphabet interface {
isCryptoReplaceFfxFpeConfig_Alphabet()
}
type CryptoReplaceFfxFpeConfig_CommonAlphabet struct {
CommonAlphabet CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet `protobuf:"varint,4,opt,name=common_alphabet,json=commonAlphabet,proto3,enum=google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet,oneof"`
}
type CryptoReplaceFfxFpeConfig_CustomAlphabet struct {
CustomAlphabet string `protobuf:"bytes,5,opt,name=custom_alphabet,json=customAlphabet,proto3,oneof"`
}
type CryptoReplaceFfxFpeConfig_Radix struct {
Radix int32 `protobuf:"varint,6,opt,name=radix,proto3,oneof"`
}
func (*CryptoReplaceFfxFpeConfig_CommonAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {}
func (*CryptoReplaceFfxFpeConfig_CustomAlphabet) isCryptoReplaceFfxFpeConfig_Alphabet() {}
func (*CryptoReplaceFfxFpeConfig_Radix) isCryptoReplaceFfxFpeConfig_Alphabet() {}
func (m *CryptoReplaceFfxFpeConfig) GetAlphabet() isCryptoReplaceFfxFpeConfig_Alphabet {
if m != nil {
return m.Alphabet
}
return nil
}
func (m *CryptoReplaceFfxFpeConfig) GetCommonAlphabet() CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet {
if x, ok := m.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CommonAlphabet); ok {
return x.CommonAlphabet
}
return CryptoReplaceFfxFpeConfig_FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED
}
func (m *CryptoReplaceFfxFpeConfig) GetCustomAlphabet() string {
if x, ok := m.GetAlphabet().(*CryptoReplaceFfxFpeConfig_CustomAlphabet); ok {
return x.CustomAlphabet
}
return ""
}
func (m *CryptoReplaceFfxFpeConfig) GetRadix() int32 {
if x, ok := m.GetAlphabet().(*CryptoReplaceFfxFpeConfig_Radix); ok {
return x.Radix
}
return 0
}
func (m *CryptoReplaceFfxFpeConfig) GetSurrogateInfoType() *InfoType {
if m != nil {
return m.SurrogateInfoType
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*CryptoReplaceFfxFpeConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _CryptoReplaceFfxFpeConfig_OneofMarshaler, _CryptoReplaceFfxFpeConfig_OneofUnmarshaler, _CryptoReplaceFfxFpeConfig_OneofSizer, []interface{}{
(*CryptoReplaceFfxFpeConfig_CommonAlphabet)(nil),
(*CryptoReplaceFfxFpeConfig_CustomAlphabet)(nil),
(*CryptoReplaceFfxFpeConfig_Radix)(nil),
}
}
func _CryptoReplaceFfxFpeConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*CryptoReplaceFfxFpeConfig)
// alphabet
switch x := m.Alphabet.(type) {
case *CryptoReplaceFfxFpeConfig_CommonAlphabet:
b.EncodeVarint(4<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.CommonAlphabet))
case *CryptoReplaceFfxFpeConfig_CustomAlphabet:
b.EncodeVarint(5<<3 | proto.WireBytes)
b.EncodeStringBytes(x.CustomAlphabet)
case *CryptoReplaceFfxFpeConfig_Radix:
b.EncodeVarint(6<<3 | proto.WireVarint)
b.EncodeVarint(uint64(x.Radix))
case nil:
default:
return fmt.Errorf("CryptoReplaceFfxFpeConfig.Alphabet has unexpected type %T", x)
}
return nil
}
func _CryptoReplaceFfxFpeConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*CryptoReplaceFfxFpeConfig)
switch tag {
case 4: // alphabet.common_alphabet
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Alphabet = &CryptoReplaceFfxFpeConfig_CommonAlphabet{CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet(x)}
return true, err
case 5: // alphabet.custom_alphabet
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeStringBytes()
m.Alphabet = &CryptoReplaceFfxFpeConfig_CustomAlphabet{x}
return true, err
case 6: // alphabet.radix
if wire != proto.WireVarint {
return true, proto.ErrInternalBadWireType
}
x, err := b.DecodeVarint()
m.Alphabet = &CryptoReplaceFfxFpeConfig_Radix{int32(x)}
return true, err
default:
return false, nil
}
}
func _CryptoReplaceFfxFpeConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*CryptoReplaceFfxFpeConfig)
// alphabet
switch x := m.Alphabet.(type) {
case *CryptoReplaceFfxFpeConfig_CommonAlphabet:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.CommonAlphabet))
case *CryptoReplaceFfxFpeConfig_CustomAlphabet:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(len(x.CustomAlphabet)))
n += len(x.CustomAlphabet)
case *CryptoReplaceFfxFpeConfig_Radix:
n += 1 // tag and wire
n += proto.SizeVarint(uint64(x.Radix))
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// This is a data encryption key (DEK) (as opposed to
// a key encryption key (KEK) stored by KMS).
// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
// unwrap the data crypto key.
type CryptoKey struct {
// Types that are valid to be assigned to Source:
// *CryptoKey_Transient
// *CryptoKey_Unwrapped
// *CryptoKey_KmsWrapped
Source isCryptoKey_Source `protobuf_oneof:"source"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CryptoKey) Reset() { *m = CryptoKey{} }
func (m *CryptoKey) String() string { return proto.CompactTextString(m) }
func (*CryptoKey) ProtoMessage() {}
func (*CryptoKey) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{50}
}
func (m *CryptoKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CryptoKey.Unmarshal(m, b)
}
func (m *CryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CryptoKey.Marshal(b, m, deterministic)
}
func (dst *CryptoKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_CryptoKey.Merge(dst, src)
}
func (m *CryptoKey) XXX_Size() int {
return xxx_messageInfo_CryptoKey.Size(m)
}
func (m *CryptoKey) XXX_DiscardUnknown() {
xxx_messageInfo_CryptoKey.DiscardUnknown(m)
}
var xxx_messageInfo_CryptoKey proto.InternalMessageInfo
type isCryptoKey_Source interface {
isCryptoKey_Source()
}
type CryptoKey_Transient struct {
Transient *TransientCryptoKey `protobuf:"bytes,1,opt,name=transient,proto3,oneof"`
}
type CryptoKey_Unwrapped struct {
Unwrapped *UnwrappedCryptoKey `protobuf:"bytes,2,opt,name=unwrapped,proto3,oneof"`
}
type CryptoKey_KmsWrapped struct {
KmsWrapped *KmsWrappedCryptoKey `protobuf:"bytes,3,opt,name=kms_wrapped,json=kmsWrapped,proto3,oneof"`
}
func (*CryptoKey_Transient) isCryptoKey_Source() {}
func (*CryptoKey_Unwrapped) isCryptoKey_Source() {}
func (*CryptoKey_KmsWrapped) isCryptoKey_Source() {}
func (m *CryptoKey) GetSource() isCryptoKey_Source {
if m != nil {
return m.Source
}
return nil
}
func (m *CryptoKey) GetTransient() *TransientCryptoKey {
if x, ok := m.GetSource().(*CryptoKey_Transient); ok {
return x.Transient
}
return nil
}
func (m *CryptoKey) GetUnwrapped() *UnwrappedCryptoKey {
if x, ok := m.GetSource().(*CryptoKey_Unwrapped); ok {
return x.Unwrapped
}
return nil
}
func (m *CryptoKey) GetKmsWrapped() *KmsWrappedCryptoKey {
if x, ok := m.GetSource().(*CryptoKey_KmsWrapped); ok {
return x.KmsWrapped
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*CryptoKey) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _CryptoKey_OneofMarshaler, _CryptoKey_OneofUnmarshaler, _CryptoKey_OneofSizer, []interface{}{
(*CryptoKey_Transient)(nil),
(*CryptoKey_Unwrapped)(nil),
(*CryptoKey_KmsWrapped)(nil),
}
}
func _CryptoKey_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*CryptoKey)
// source
switch x := m.Source.(type) {
case *CryptoKey_Transient:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Transient); err != nil {
return err
}
case *CryptoKey_Unwrapped:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Unwrapped); err != nil {
return err
}
case *CryptoKey_KmsWrapped:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.KmsWrapped); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("CryptoKey.Source has unexpected type %T", x)
}
return nil
}
func _CryptoKey_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*CryptoKey)
switch tag {
case 1: // source.transient
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TransientCryptoKey)
err := b.DecodeMessage(msg)
m.Source = &CryptoKey_Transient{msg}
return true, err
case 2: // source.unwrapped
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(UnwrappedCryptoKey)
err := b.DecodeMessage(msg)
m.Source = &CryptoKey_Unwrapped{msg}
return true, err
case 3: // source.kms_wrapped
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(KmsWrappedCryptoKey)
err := b.DecodeMessage(msg)
m.Source = &CryptoKey_KmsWrapped{msg}
return true, err
default:
return false, nil
}
}
func _CryptoKey_OneofSizer(msg proto.Message) (n int) {
m := msg.(*CryptoKey)
// source
switch x := m.Source.(type) {
case *CryptoKey_Transient:
s := proto.Size(x.Transient)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CryptoKey_Unwrapped:
s := proto.Size(x.Unwrapped)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CryptoKey_KmsWrapped:
s := proto.Size(x.KmsWrapped)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Use this to have a random data crypto key generated.
// It will be discarded after the request finishes.
type TransientCryptoKey struct {
// Name of the key. [required]
// This is an arbitrary string used to differentiate different keys.
// A unique key is generated per name: two separate `TransientCryptoKey`
// protos share the same generated key if their names are the same.
// When the data crypto key is generated, this name is not used in any way
// (repeating the api call will result in a different key being generated).
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransientCryptoKey) Reset() { *m = TransientCryptoKey{} }
func (m *TransientCryptoKey) String() string { return proto.CompactTextString(m) }
func (*TransientCryptoKey) ProtoMessage() {}
func (*TransientCryptoKey) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{51}
}
func (m *TransientCryptoKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransientCryptoKey.Unmarshal(m, b)
}
func (m *TransientCryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransientCryptoKey.Marshal(b, m, deterministic)
}
func (dst *TransientCryptoKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransientCryptoKey.Merge(dst, src)
}
func (m *TransientCryptoKey) XXX_Size() int {
return xxx_messageInfo_TransientCryptoKey.Size(m)
}
func (m *TransientCryptoKey) XXX_DiscardUnknown() {
xxx_messageInfo_TransientCryptoKey.DiscardUnknown(m)
}
var xxx_messageInfo_TransientCryptoKey proto.InternalMessageInfo
func (m *TransientCryptoKey) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Using raw keys is prone to security risks due to accidentally
// leaking the key. Choose another type of key if possible.
type UnwrappedCryptoKey struct {
// The AES 128/192/256 bit key. [required]
Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UnwrappedCryptoKey) Reset() { *m = UnwrappedCryptoKey{} }
func (m *UnwrappedCryptoKey) String() string { return proto.CompactTextString(m) }
func (*UnwrappedCryptoKey) ProtoMessage() {}
func (*UnwrappedCryptoKey) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{52}
}
func (m *UnwrappedCryptoKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnwrappedCryptoKey.Unmarshal(m, b)
}
func (m *UnwrappedCryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UnwrappedCryptoKey.Marshal(b, m, deterministic)
}
func (dst *UnwrappedCryptoKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_UnwrappedCryptoKey.Merge(dst, src)
}
func (m *UnwrappedCryptoKey) XXX_Size() int {
return xxx_messageInfo_UnwrappedCryptoKey.Size(m)
}
func (m *UnwrappedCryptoKey) XXX_DiscardUnknown() {
xxx_messageInfo_UnwrappedCryptoKey.DiscardUnknown(m)
}
var xxx_messageInfo_UnwrappedCryptoKey proto.InternalMessageInfo
func (m *UnwrappedCryptoKey) GetKey() []byte {
if m != nil {
return m.Key
}
return nil
}
// Include to use an existing data crypto key wrapped by KMS.
// Authorization requires the following IAM permissions when sending a request
// to perform a crypto transformation using a kms-wrapped crypto key:
// dlp.kms.encrypt
type KmsWrappedCryptoKey struct {
// The wrapped data crypto key. [required]
WrappedKey []byte `protobuf:"bytes,1,opt,name=wrapped_key,json=wrappedKey,proto3" json:"wrapped_key,omitempty"`
// The resource name of the KMS CryptoKey to use for unwrapping. [required]
CryptoKeyName string `protobuf:"bytes,2,opt,name=crypto_key_name,json=cryptoKeyName,proto3" json:"crypto_key_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *KmsWrappedCryptoKey) Reset() { *m = KmsWrappedCryptoKey{} }
func (m *KmsWrappedCryptoKey) String() string { return proto.CompactTextString(m) }
func (*KmsWrappedCryptoKey) ProtoMessage() {}
func (*KmsWrappedCryptoKey) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{53}
}
func (m *KmsWrappedCryptoKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KmsWrappedCryptoKey.Unmarshal(m, b)
}
func (m *KmsWrappedCryptoKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KmsWrappedCryptoKey.Marshal(b, m, deterministic)
}
func (dst *KmsWrappedCryptoKey) XXX_Merge(src proto.Message) {
xxx_messageInfo_KmsWrappedCryptoKey.Merge(dst, src)
}
func (m *KmsWrappedCryptoKey) XXX_Size() int {
return xxx_messageInfo_KmsWrappedCryptoKey.Size(m)
}
func (m *KmsWrappedCryptoKey) XXX_DiscardUnknown() {
xxx_messageInfo_KmsWrappedCryptoKey.DiscardUnknown(m)
}
var xxx_messageInfo_KmsWrappedCryptoKey proto.InternalMessageInfo
func (m *KmsWrappedCryptoKey) GetWrappedKey() []byte {
if m != nil {
return m.WrappedKey
}
return nil
}
func (m *KmsWrappedCryptoKey) GetCryptoKeyName() string {
if m != nil {
return m.CryptoKeyName
}
return ""
}
// Shifts dates by random number of days, with option to be consistent for the
// same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting
// to learn more.
type DateShiftConfig struct {
// Range of shift in days. Actual shift will be selected at random within this
// range (inclusive ends). Negative means shift to earlier in time. Must not
// be more than 365250 days (1000 years) each direction.
//
// For example, 3 means shift date to at most 3 days into the future.
// [Required]
UpperBoundDays int32 `protobuf:"varint,1,opt,name=upper_bound_days,json=upperBoundDays,proto3" json:"upper_bound_days,omitempty"`
// For example, -5 means shift date to at most 5 days back in the past.
// [Required]
LowerBoundDays int32 `protobuf:"varint,2,opt,name=lower_bound_days,json=lowerBoundDays,proto3" json:"lower_bound_days,omitempty"`
// Points to the field that contains the context, for example, an entity id.
// If set, must also set method. If set, shift will be consistent for the
// given context.
Context *FieldId `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"`
// Method for calculating shift that takes context into consideration. If
// set, must also set context. Can only be applied to table items.
//
// Types that are valid to be assigned to Method:
// *DateShiftConfig_CryptoKey
Method isDateShiftConfig_Method `protobuf_oneof:"method"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DateShiftConfig) Reset() { *m = DateShiftConfig{} }
func (m *DateShiftConfig) String() string { return proto.CompactTextString(m) }
func (*DateShiftConfig) ProtoMessage() {}
func (*DateShiftConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{54}
}
func (m *DateShiftConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DateShiftConfig.Unmarshal(m, b)
}
func (m *DateShiftConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DateShiftConfig.Marshal(b, m, deterministic)
}
func (dst *DateShiftConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_DateShiftConfig.Merge(dst, src)
}
func (m *DateShiftConfig) XXX_Size() int {
return xxx_messageInfo_DateShiftConfig.Size(m)
}
func (m *DateShiftConfig) XXX_DiscardUnknown() {
xxx_messageInfo_DateShiftConfig.DiscardUnknown(m)
}
var xxx_messageInfo_DateShiftConfig proto.InternalMessageInfo
func (m *DateShiftConfig) GetUpperBoundDays() int32 {
if m != nil {
return m.UpperBoundDays
}
return 0
}
func (m *DateShiftConfig) GetLowerBoundDays() int32 {
if m != nil {
return m.LowerBoundDays
}
return 0
}
func (m *DateShiftConfig) GetContext() *FieldId {
if m != nil {
return m.Context
}
return nil
}
type isDateShiftConfig_Method interface {
isDateShiftConfig_Method()
}
type DateShiftConfig_CryptoKey struct {
CryptoKey *CryptoKey `protobuf:"bytes,4,opt,name=crypto_key,json=cryptoKey,proto3,oneof"`
}
func (*DateShiftConfig_CryptoKey) isDateShiftConfig_Method() {}
func (m *DateShiftConfig) GetMethod() isDateShiftConfig_Method {
if m != nil {
return m.Method
}
return nil
}
func (m *DateShiftConfig) GetCryptoKey() *CryptoKey {
if x, ok := m.GetMethod().(*DateShiftConfig_CryptoKey); ok {
return x.CryptoKey
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*DateShiftConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _DateShiftConfig_OneofMarshaler, _DateShiftConfig_OneofUnmarshaler, _DateShiftConfig_OneofSizer, []interface{}{
(*DateShiftConfig_CryptoKey)(nil),
}
}
func _DateShiftConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*DateShiftConfig)
// method
switch x := m.Method.(type) {
case *DateShiftConfig_CryptoKey:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CryptoKey); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("DateShiftConfig.Method has unexpected type %T", x)
}
return nil
}
func _DateShiftConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*DateShiftConfig)
switch tag {
case 4: // method.crypto_key
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CryptoKey)
err := b.DecodeMessage(msg)
m.Method = &DateShiftConfig_CryptoKey{msg}
return true, err
default:
return false, nil
}
}
func _DateShiftConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*DateShiftConfig)
// method
switch x := m.Method.(type) {
case *DateShiftConfig_CryptoKey:
s := proto.Size(x.CryptoKey)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// A type of transformation that will scan unstructured text and
// apply various `PrimitiveTransformation`s to each finding, where the
// transformation is applied to only values that were identified as a specific
// info_type.
type InfoTypeTransformations struct {
// Transformation for each infoType. Cannot specify more than one
// for a given infoType. [required]
Transformations []*InfoTypeTransformations_InfoTypeTransformation `protobuf:"bytes,1,rep,name=transformations,proto3" json:"transformations,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InfoTypeTransformations) Reset() { *m = InfoTypeTransformations{} }
func (m *InfoTypeTransformations) String() string { return proto.CompactTextString(m) }
func (*InfoTypeTransformations) ProtoMessage() {}
func (*InfoTypeTransformations) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{55}
}
func (m *InfoTypeTransformations) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InfoTypeTransformations.Unmarshal(m, b)
}
func (m *InfoTypeTransformations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InfoTypeTransformations.Marshal(b, m, deterministic)
}
func (dst *InfoTypeTransformations) XXX_Merge(src proto.Message) {
xxx_messageInfo_InfoTypeTransformations.Merge(dst, src)
}
func (m *InfoTypeTransformations) XXX_Size() int {
return xxx_messageInfo_InfoTypeTransformations.Size(m)
}
func (m *InfoTypeTransformations) XXX_DiscardUnknown() {
xxx_messageInfo_InfoTypeTransformations.DiscardUnknown(m)
}
var xxx_messageInfo_InfoTypeTransformations proto.InternalMessageInfo
func (m *InfoTypeTransformations) GetTransformations() []*InfoTypeTransformations_InfoTypeTransformation {
if m != nil {
return m.Transformations
}
return nil
}
// A transformation to apply to text that is identified as a specific
// info_type.
type InfoTypeTransformations_InfoTypeTransformation struct {
// InfoTypes to apply the transformation to. An empty list will cause
// this transformation to apply to all findings that correspond to
// infoTypes that were requested in `InspectConfig`.
InfoTypes []*InfoType `protobuf:"bytes,1,rep,name=info_types,json=infoTypes,proto3" json:"info_types,omitempty"`
// Primitive transformation to apply to the infoType. [required]
PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,2,opt,name=primitive_transformation,json=primitiveTransformation,proto3" json:"primitive_transformation,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InfoTypeTransformations_InfoTypeTransformation) Reset() {
*m = InfoTypeTransformations_InfoTypeTransformation{}
}
func (m *InfoTypeTransformations_InfoTypeTransformation) String() string {
return proto.CompactTextString(m)
}
func (*InfoTypeTransformations_InfoTypeTransformation) ProtoMessage() {}
func (*InfoTypeTransformations_InfoTypeTransformation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{55, 0}
}
func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Unmarshal(m, b)
}
func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Marshal(b, m, deterministic)
}
func (dst *InfoTypeTransformations_InfoTypeTransformation) XXX_Merge(src proto.Message) {
xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Merge(dst, src)
}
func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_Size() int {
return xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.Size(m)
}
func (m *InfoTypeTransformations_InfoTypeTransformation) XXX_DiscardUnknown() {
xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation.DiscardUnknown(m)
}
var xxx_messageInfo_InfoTypeTransformations_InfoTypeTransformation proto.InternalMessageInfo
func (m *InfoTypeTransformations_InfoTypeTransformation) GetInfoTypes() []*InfoType {
if m != nil {
return m.InfoTypes
}
return nil
}
func (m *InfoTypeTransformations_InfoTypeTransformation) GetPrimitiveTransformation() *PrimitiveTransformation {
if m != nil {
return m.PrimitiveTransformation
}
return nil
}
// The transformation to apply to the field.
type FieldTransformation struct {
// Input field(s) to apply the transformation to. [required]
Fields []*FieldId `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"`
// Only apply the transformation if the condition evaluates to true for the
// given `RecordCondition`. The conditions are allowed to reference fields
// that are not used in the actual transformation. [optional]
//
// Example Use Cases:
//
// - Apply a different bucket transformation to an age column if the zip code
// column for the same record is within a specific range.
// - Redact a field if the date of birth field is greater than 85.
Condition *RecordCondition `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"`
// Transformation to apply. [required]
//
// Types that are valid to be assigned to Transformation:
// *FieldTransformation_PrimitiveTransformation
// *FieldTransformation_InfoTypeTransformations
Transformation isFieldTransformation_Transformation `protobuf_oneof:"transformation"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *FieldTransformation) Reset() { *m = FieldTransformation{} }
func (m *FieldTransformation) String() string { return proto.CompactTextString(m) }
func (*FieldTransformation) ProtoMessage() {}
func (*FieldTransformation) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{56}
}
func (m *FieldTransformation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FieldTransformation.Unmarshal(m, b)
}
func (m *FieldTransformation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FieldTransformation.Marshal(b, m, deterministic)
}
func (dst *FieldTransformation) XXX_Merge(src proto.Message) {
xxx_messageInfo_FieldTransformation.Merge(dst, src)
}
func (m *FieldTransformation) XXX_Size() int {
return xxx_messageInfo_FieldTransformation.Size(m)
}
func (m *FieldTransformation) XXX_DiscardUnknown() {
xxx_messageInfo_FieldTransformation.DiscardUnknown(m)
}
var xxx_messageInfo_FieldTransformation proto.InternalMessageInfo
func (m *FieldTransformation) GetFields() []*FieldId {
if m != nil {
return m.Fields
}
return nil
}
func (m *FieldTransformation) GetCondition() *RecordCondition {
if m != nil {
return m.Condition
}
return nil
}
type isFieldTransformation_Transformation interface {
isFieldTransformation_Transformation()
}
type FieldTransformation_PrimitiveTransformation struct {
PrimitiveTransformation *PrimitiveTransformation `protobuf:"bytes,4,opt,name=primitive_transformation,json=primitiveTransformation,proto3,oneof"`
}
type FieldTransformation_InfoTypeTransformations struct {
InfoTypeTransformations *InfoTypeTransformations `protobuf:"bytes,5,opt,name=info_type_transformations,json=infoTypeTransformations,proto3,oneof"`
}
func (*FieldTransformation_PrimitiveTransformation) isFieldTransformation_Transformation() {}
func (*FieldTransformation_InfoTypeTransformations) isFieldTransformation_Transformation() {}
func (m *FieldTransformation) GetTransformation() isFieldTransformation_Transformation {
if m != nil {
return m.Transformation
}
return nil
}
func (m *FieldTransformation) GetPrimitiveTransformation() *PrimitiveTransformation {
if x, ok := m.GetTransformation().(*FieldTransformation_PrimitiveTransformation); ok {
return x.PrimitiveTransformation
}
return nil
}
func (m *FieldTransformation) GetInfoTypeTransformations() *InfoTypeTransformations {
if x, ok := m.GetTransformation().(*FieldTransformation_InfoTypeTransformations); ok {
return x.InfoTypeTransformations
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*FieldTransformation) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _FieldTransformation_OneofMarshaler, _FieldTransformation_OneofUnmarshaler, _FieldTransformation_OneofSizer, []interface{}{
(*FieldTransformation_PrimitiveTransformation)(nil),
(*FieldTransformation_InfoTypeTransformations)(nil),
}
}
func _FieldTransformation_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*FieldTransformation)
// transformation
switch x := m.Transformation.(type) {
case *FieldTransformation_PrimitiveTransformation:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PrimitiveTransformation); err != nil {
return err
}
case *FieldTransformation_InfoTypeTransformations:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InfoTypeTransformations); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("FieldTransformation.Transformation has unexpected type %T", x)
}
return nil
}
func _FieldTransformation_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*FieldTransformation)
switch tag {
case 4: // transformation.primitive_transformation
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PrimitiveTransformation)
err := b.DecodeMessage(msg)
m.Transformation = &FieldTransformation_PrimitiveTransformation{msg}
return true, err
case 5: // transformation.info_type_transformations
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InfoTypeTransformations)
err := b.DecodeMessage(msg)
m.Transformation = &FieldTransformation_InfoTypeTransformations{msg}
return true, err
default:
return false, nil
}
}
func _FieldTransformation_OneofSizer(msg proto.Message) (n int) {
m := msg.(*FieldTransformation)
// transformation
switch x := m.Transformation.(type) {
case *FieldTransformation_PrimitiveTransformation:
s := proto.Size(x.PrimitiveTransformation)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *FieldTransformation_InfoTypeTransformations:
s := proto.Size(x.InfoTypeTransformations)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// A type of transformation that is applied over structured data such as a
// table.
type RecordTransformations struct {
// Transform the record by applying various field transformations.
FieldTransformations []*FieldTransformation `protobuf:"bytes,1,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"`
// Configuration defining which records get suppressed entirely. Records that
// match any suppression rule are omitted from the output [optional].
RecordSuppressions []*RecordSuppression `protobuf:"bytes,2,rep,name=record_suppressions,json=recordSuppressions,proto3" json:"record_suppressions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordTransformations) Reset() { *m = RecordTransformations{} }
func (m *RecordTransformations) String() string { return proto.CompactTextString(m) }
func (*RecordTransformations) ProtoMessage() {}
func (*RecordTransformations) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{57}
}
func (m *RecordTransformations) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordTransformations.Unmarshal(m, b)
}
func (m *RecordTransformations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordTransformations.Marshal(b, m, deterministic)
}
func (dst *RecordTransformations) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordTransformations.Merge(dst, src)
}
func (m *RecordTransformations) XXX_Size() int {
return xxx_messageInfo_RecordTransformations.Size(m)
}
func (m *RecordTransformations) XXX_DiscardUnknown() {
xxx_messageInfo_RecordTransformations.DiscardUnknown(m)
}
var xxx_messageInfo_RecordTransformations proto.InternalMessageInfo
func (m *RecordTransformations) GetFieldTransformations() []*FieldTransformation {
if m != nil {
return m.FieldTransformations
}
return nil
}
func (m *RecordTransformations) GetRecordSuppressions() []*RecordSuppression {
if m != nil {
return m.RecordSuppressions
}
return nil
}
// Configuration to suppress records whose suppression conditions evaluate to
// true.
type RecordSuppression struct {
// A condition that when it evaluates to true will result in the record being
// evaluated to be suppressed from the transformed content.
Condition *RecordCondition `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordSuppression) Reset() { *m = RecordSuppression{} }
func (m *RecordSuppression) String() string { return proto.CompactTextString(m) }
func (*RecordSuppression) ProtoMessage() {}
func (*RecordSuppression) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{58}
}
func (m *RecordSuppression) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordSuppression.Unmarshal(m, b)
}
func (m *RecordSuppression) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordSuppression.Marshal(b, m, deterministic)
}
func (dst *RecordSuppression) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordSuppression.Merge(dst, src)
}
func (m *RecordSuppression) XXX_Size() int {
return xxx_messageInfo_RecordSuppression.Size(m)
}
func (m *RecordSuppression) XXX_DiscardUnknown() {
xxx_messageInfo_RecordSuppression.DiscardUnknown(m)
}
var xxx_messageInfo_RecordSuppression proto.InternalMessageInfo
func (m *RecordSuppression) GetCondition() *RecordCondition {
if m != nil {
return m.Condition
}
return nil
}
// A condition for determining whether a transformation should be applied to
// a field.
type RecordCondition struct {
// An expression.
Expressions *RecordCondition_Expressions `protobuf:"bytes,3,opt,name=expressions,proto3" json:"expressions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordCondition) Reset() { *m = RecordCondition{} }
func (m *RecordCondition) String() string { return proto.CompactTextString(m) }
func (*RecordCondition) ProtoMessage() {}
func (*RecordCondition) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{59}
}
func (m *RecordCondition) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordCondition.Unmarshal(m, b)
}
func (m *RecordCondition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordCondition.Marshal(b, m, deterministic)
}
func (dst *RecordCondition) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordCondition.Merge(dst, src)
}
func (m *RecordCondition) XXX_Size() int {
return xxx_messageInfo_RecordCondition.Size(m)
}
func (m *RecordCondition) XXX_DiscardUnknown() {
xxx_messageInfo_RecordCondition.DiscardUnknown(m)
}
var xxx_messageInfo_RecordCondition proto.InternalMessageInfo
func (m *RecordCondition) GetExpressions() *RecordCondition_Expressions {
if m != nil {
return m.Expressions
}
return nil
}
// The field type of `value` and `field` do not need to match to be
// considered equal, but not all comparisons are possible.
//
// A `value` of type:
//
// - `string` can be compared against all other types
// - `boolean` can only be compared against other booleans
// - `integer` can be compared against doubles or a string if the string value
// can be parsed as an integer.
// - `double` can be compared against integers or a string if the string can
// be parsed as a double.
// - `Timestamp` can be compared against strings in RFC 3339 date string
// format.
// - `TimeOfDay` can be compared against timestamps and strings in the format
// of 'HH:mm:ss'.
//
// If we fail to compare do to type mismatch, a warning will be given and
// the condition will evaluate to false.
type RecordCondition_Condition struct {
// Field within the record this condition is evaluated against. [required]
Field *FieldId `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
// Operator used to compare the field or infoType to the value. [required]
Operator RelationalOperator `protobuf:"varint,3,opt,name=operator,proto3,enum=google.privacy.dlp.v2.RelationalOperator" json:"operator,omitempty"`
// Value to compare against. [Required, except for `EXISTS` tests.]
Value *Value `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordCondition_Condition) Reset() { *m = RecordCondition_Condition{} }
func (m *RecordCondition_Condition) String() string { return proto.CompactTextString(m) }
func (*RecordCondition_Condition) ProtoMessage() {}
func (*RecordCondition_Condition) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{59, 0}
}
func (m *RecordCondition_Condition) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordCondition_Condition.Unmarshal(m, b)
}
func (m *RecordCondition_Condition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordCondition_Condition.Marshal(b, m, deterministic)
}
func (dst *RecordCondition_Condition) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordCondition_Condition.Merge(dst, src)
}
func (m *RecordCondition_Condition) XXX_Size() int {
return xxx_messageInfo_RecordCondition_Condition.Size(m)
}
func (m *RecordCondition_Condition) XXX_DiscardUnknown() {
xxx_messageInfo_RecordCondition_Condition.DiscardUnknown(m)
}
var xxx_messageInfo_RecordCondition_Condition proto.InternalMessageInfo
func (m *RecordCondition_Condition) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
func (m *RecordCondition_Condition) GetOperator() RelationalOperator {
if m != nil {
return m.Operator
}
return RelationalOperator_RELATIONAL_OPERATOR_UNSPECIFIED
}
func (m *RecordCondition_Condition) GetValue() *Value {
if m != nil {
return m.Value
}
return nil
}
// A collection of conditions.
type RecordCondition_Conditions struct {
Conditions []*RecordCondition_Condition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordCondition_Conditions) Reset() { *m = RecordCondition_Conditions{} }
func (m *RecordCondition_Conditions) String() string { return proto.CompactTextString(m) }
func (*RecordCondition_Conditions) ProtoMessage() {}
func (*RecordCondition_Conditions) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{59, 1}
}
func (m *RecordCondition_Conditions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordCondition_Conditions.Unmarshal(m, b)
}
func (m *RecordCondition_Conditions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordCondition_Conditions.Marshal(b, m, deterministic)
}
func (dst *RecordCondition_Conditions) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordCondition_Conditions.Merge(dst, src)
}
func (m *RecordCondition_Conditions) XXX_Size() int {
return xxx_messageInfo_RecordCondition_Conditions.Size(m)
}
func (m *RecordCondition_Conditions) XXX_DiscardUnknown() {
xxx_messageInfo_RecordCondition_Conditions.DiscardUnknown(m)
}
var xxx_messageInfo_RecordCondition_Conditions proto.InternalMessageInfo
func (m *RecordCondition_Conditions) GetConditions() []*RecordCondition_Condition {
if m != nil {
return m.Conditions
}
return nil
}
// An expression, consisting or an operator and conditions.
type RecordCondition_Expressions struct {
// The operator to apply to the result of conditions. Default and currently
// only supported value is `AND`.
LogicalOperator RecordCondition_Expressions_LogicalOperator `protobuf:"varint,1,opt,name=logical_operator,json=logicalOperator,proto3,enum=google.privacy.dlp.v2.RecordCondition_Expressions_LogicalOperator" json:"logical_operator,omitempty"`
// Types that are valid to be assigned to Type:
// *RecordCondition_Expressions_Conditions
Type isRecordCondition_Expressions_Type `protobuf_oneof:"type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecordCondition_Expressions) Reset() { *m = RecordCondition_Expressions{} }
func (m *RecordCondition_Expressions) String() string { return proto.CompactTextString(m) }
func (*RecordCondition_Expressions) ProtoMessage() {}
func (*RecordCondition_Expressions) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{59, 2}
}
func (m *RecordCondition_Expressions) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecordCondition_Expressions.Unmarshal(m, b)
}
func (m *RecordCondition_Expressions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecordCondition_Expressions.Marshal(b, m, deterministic)
}
func (dst *RecordCondition_Expressions) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecordCondition_Expressions.Merge(dst, src)
}
func (m *RecordCondition_Expressions) XXX_Size() int {
return xxx_messageInfo_RecordCondition_Expressions.Size(m)
}
func (m *RecordCondition_Expressions) XXX_DiscardUnknown() {
xxx_messageInfo_RecordCondition_Expressions.DiscardUnknown(m)
}
var xxx_messageInfo_RecordCondition_Expressions proto.InternalMessageInfo
func (m *RecordCondition_Expressions) GetLogicalOperator() RecordCondition_Expressions_LogicalOperator {
if m != nil {
return m.LogicalOperator
}
return RecordCondition_Expressions_LOGICAL_OPERATOR_UNSPECIFIED
}
type isRecordCondition_Expressions_Type interface {
isRecordCondition_Expressions_Type()
}
type RecordCondition_Expressions_Conditions struct {
Conditions *RecordCondition_Conditions `protobuf:"bytes,3,opt,name=conditions,proto3,oneof"`
}
func (*RecordCondition_Expressions_Conditions) isRecordCondition_Expressions_Type() {}
func (m *RecordCondition_Expressions) GetType() isRecordCondition_Expressions_Type {
if m != nil {
return m.Type
}
return nil
}
func (m *RecordCondition_Expressions) GetConditions() *RecordCondition_Conditions {
if x, ok := m.GetType().(*RecordCondition_Expressions_Conditions); ok {
return x.Conditions
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*RecordCondition_Expressions) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _RecordCondition_Expressions_OneofMarshaler, _RecordCondition_Expressions_OneofUnmarshaler, _RecordCondition_Expressions_OneofSizer, []interface{}{
(*RecordCondition_Expressions_Conditions)(nil),
}
}
func _RecordCondition_Expressions_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*RecordCondition_Expressions)
// type
switch x := m.Type.(type) {
case *RecordCondition_Expressions_Conditions:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Conditions); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("RecordCondition_Expressions.Type has unexpected type %T", x)
}
return nil
}
func _RecordCondition_Expressions_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*RecordCondition_Expressions)
switch tag {
case 3: // type.conditions
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RecordCondition_Conditions)
err := b.DecodeMessage(msg)
m.Type = &RecordCondition_Expressions_Conditions{msg}
return true, err
default:
return false, nil
}
}
func _RecordCondition_Expressions_OneofSizer(msg proto.Message) (n int) {
m := msg.(*RecordCondition_Expressions)
// type
switch x := m.Type.(type) {
case *RecordCondition_Expressions_Conditions:
s := proto.Size(x.Conditions)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Overview of the modifications that occurred.
type TransformationOverview struct {
// Total size in bytes that were transformed in some way.
TransformedBytes int64 `protobuf:"varint,2,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"`
// Transformations applied to the dataset.
TransformationSummaries []*TransformationSummary `protobuf:"bytes,3,rep,name=transformation_summaries,json=transformationSummaries,proto3" json:"transformation_summaries,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransformationOverview) Reset() { *m = TransformationOverview{} }
func (m *TransformationOverview) String() string { return proto.CompactTextString(m) }
func (*TransformationOverview) ProtoMessage() {}
func (*TransformationOverview) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{60}
}
func (m *TransformationOverview) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransformationOverview.Unmarshal(m, b)
}
func (m *TransformationOverview) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransformationOverview.Marshal(b, m, deterministic)
}
func (dst *TransformationOverview) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransformationOverview.Merge(dst, src)
}
func (m *TransformationOverview) XXX_Size() int {
return xxx_messageInfo_TransformationOverview.Size(m)
}
func (m *TransformationOverview) XXX_DiscardUnknown() {
xxx_messageInfo_TransformationOverview.DiscardUnknown(m)
}
var xxx_messageInfo_TransformationOverview proto.InternalMessageInfo
func (m *TransformationOverview) GetTransformedBytes() int64 {
if m != nil {
return m.TransformedBytes
}
return 0
}
func (m *TransformationOverview) GetTransformationSummaries() []*TransformationSummary {
if m != nil {
return m.TransformationSummaries
}
return nil
}
// Summary of a single tranformation.
// Only one of 'transformation', 'field_transformation', or 'record_suppress'
// will be set.
type TransformationSummary struct {
// Set if the transformation was limited to a specific info_type.
InfoType *InfoType `protobuf:"bytes,1,opt,name=info_type,json=infoType,proto3" json:"info_type,omitempty"`
// Set if the transformation was limited to a specific FieldId.
Field *FieldId `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
// The specific transformation these stats apply to.
Transformation *PrimitiveTransformation `protobuf:"bytes,3,opt,name=transformation,proto3" json:"transformation,omitempty"`
// The field transformation that was applied.
// If multiple field transformations are requested for a single field,
// this list will contain all of them; otherwise, only one is supplied.
FieldTransformations []*FieldTransformation `protobuf:"bytes,5,rep,name=field_transformations,json=fieldTransformations,proto3" json:"field_transformations,omitempty"`
// The specific suppression option these stats apply to.
RecordSuppress *RecordSuppression `protobuf:"bytes,6,opt,name=record_suppress,json=recordSuppress,proto3" json:"record_suppress,omitempty"`
Results []*TransformationSummary_SummaryResult `protobuf:"bytes,4,rep,name=results,proto3" json:"results,omitempty"`
// Total size in bytes that were transformed in some way.
TransformedBytes int64 `protobuf:"varint,7,opt,name=transformed_bytes,json=transformedBytes,proto3" json:"transformed_bytes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransformationSummary) Reset() { *m = TransformationSummary{} }
func (m *TransformationSummary) String() string { return proto.CompactTextString(m) }
func (*TransformationSummary) ProtoMessage() {}
func (*TransformationSummary) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{61}
}
func (m *TransformationSummary) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransformationSummary.Unmarshal(m, b)
}
func (m *TransformationSummary) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransformationSummary.Marshal(b, m, deterministic)
}
func (dst *TransformationSummary) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransformationSummary.Merge(dst, src)
}
func (m *TransformationSummary) XXX_Size() int {
return xxx_messageInfo_TransformationSummary.Size(m)
}
func (m *TransformationSummary) XXX_DiscardUnknown() {
xxx_messageInfo_TransformationSummary.DiscardUnknown(m)
}
var xxx_messageInfo_TransformationSummary proto.InternalMessageInfo
func (m *TransformationSummary) GetInfoType() *InfoType {
if m != nil {
return m.InfoType
}
return nil
}
func (m *TransformationSummary) GetField() *FieldId {
if m != nil {
return m.Field
}
return nil
}
func (m *TransformationSummary) GetTransformation() *PrimitiveTransformation {
if m != nil {
return m.Transformation
}
return nil
}
func (m *TransformationSummary) GetFieldTransformations() []*FieldTransformation {
if m != nil {
return m.FieldTransformations
}
return nil
}
func (m *TransformationSummary) GetRecordSuppress() *RecordSuppression {
if m != nil {
return m.RecordSuppress
}
return nil
}
func (m *TransformationSummary) GetResults() []*TransformationSummary_SummaryResult {
if m != nil {
return m.Results
}
return nil
}
func (m *TransformationSummary) GetTransformedBytes() int64 {
if m != nil {
return m.TransformedBytes
}
return 0
}
// A collection that informs the user the number of times a particular
// `TransformationResultCode` and error details occurred.
type TransformationSummary_SummaryResult struct {
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
Code TransformationSummary_TransformationResultCode `protobuf:"varint,2,opt,name=code,proto3,enum=google.privacy.dlp.v2.TransformationSummary_TransformationResultCode" json:"code,omitempty"`
// A place for warnings or errors to show up if a transformation didn't
// work as expected.
Details string `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransformationSummary_SummaryResult) Reset() { *m = TransformationSummary_SummaryResult{} }
func (m *TransformationSummary_SummaryResult) String() string { return proto.CompactTextString(m) }
func (*TransformationSummary_SummaryResult) ProtoMessage() {}
func (*TransformationSummary_SummaryResult) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{61, 0}
}
func (m *TransformationSummary_SummaryResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransformationSummary_SummaryResult.Unmarshal(m, b)
}
func (m *TransformationSummary_SummaryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransformationSummary_SummaryResult.Marshal(b, m, deterministic)
}
func (dst *TransformationSummary_SummaryResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransformationSummary_SummaryResult.Merge(dst, src)
}
func (m *TransformationSummary_SummaryResult) XXX_Size() int {
return xxx_messageInfo_TransformationSummary_SummaryResult.Size(m)
}
func (m *TransformationSummary_SummaryResult) XXX_DiscardUnknown() {
xxx_messageInfo_TransformationSummary_SummaryResult.DiscardUnknown(m)
}
var xxx_messageInfo_TransformationSummary_SummaryResult proto.InternalMessageInfo
func (m *TransformationSummary_SummaryResult) GetCount() int64 {
if m != nil {
return m.Count
}
return 0
}
func (m *TransformationSummary_SummaryResult) GetCode() TransformationSummary_TransformationResultCode {
if m != nil {
return m.Code
}
return TransformationSummary_TRANSFORMATION_RESULT_CODE_UNSPECIFIED
}
func (m *TransformationSummary_SummaryResult) GetDetails() string {
if m != nil {
return m.Details
}
return ""
}
// Schedule for triggeredJobs.
type Schedule struct {
// Types that are valid to be assigned to Option:
// *Schedule_RecurrencePeriodDuration
Option isSchedule_Option `protobuf_oneof:"option"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Schedule) Reset() { *m = Schedule{} }
func (m *Schedule) String() string { return proto.CompactTextString(m) }
func (*Schedule) ProtoMessage() {}
func (*Schedule) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{62}
}
func (m *Schedule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Schedule.Unmarshal(m, b)
}
func (m *Schedule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Schedule.Marshal(b, m, deterministic)
}
func (dst *Schedule) XXX_Merge(src proto.Message) {
xxx_messageInfo_Schedule.Merge(dst, src)
}
func (m *Schedule) XXX_Size() int {
return xxx_messageInfo_Schedule.Size(m)
}
func (m *Schedule) XXX_DiscardUnknown() {
xxx_messageInfo_Schedule.DiscardUnknown(m)
}
var xxx_messageInfo_Schedule proto.InternalMessageInfo
type isSchedule_Option interface {
isSchedule_Option()
}
type Schedule_RecurrencePeriodDuration struct {
RecurrencePeriodDuration *duration.Duration `protobuf:"bytes,1,opt,name=recurrence_period_duration,json=recurrencePeriodDuration,proto3,oneof"`
}
func (*Schedule_RecurrencePeriodDuration) isSchedule_Option() {}
func (m *Schedule) GetOption() isSchedule_Option {
if m != nil {
return m.Option
}
return nil
}
func (m *Schedule) GetRecurrencePeriodDuration() *duration.Duration {
if x, ok := m.GetOption().(*Schedule_RecurrencePeriodDuration); ok {
return x.RecurrencePeriodDuration
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*Schedule) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _Schedule_OneofMarshaler, _Schedule_OneofUnmarshaler, _Schedule_OneofSizer, []interface{}{
(*Schedule_RecurrencePeriodDuration)(nil),
}
}
func _Schedule_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*Schedule)
// option
switch x := m.Option.(type) {
case *Schedule_RecurrencePeriodDuration:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RecurrencePeriodDuration); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("Schedule.Option has unexpected type %T", x)
}
return nil
}
func _Schedule_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*Schedule)
switch tag {
case 1: // option.recurrence_period_duration
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(duration.Duration)
err := b.DecodeMessage(msg)
m.Option = &Schedule_RecurrencePeriodDuration{msg}
return true, err
default:
return false, nil
}
}
func _Schedule_OneofSizer(msg proto.Message) (n int) {
m := msg.(*Schedule)
// option
switch x := m.Option.(type) {
case *Schedule_RecurrencePeriodDuration:
s := proto.Size(x.RecurrencePeriodDuration)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// The inspectTemplate contains a configuration (set of types of sensitive data
// to be detected) to be used anywhere you otherwise would normally specify
// InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
// to learn more.
type InspectTemplate struct {
// The template name. Output only.
//
// The template will have one of the following formats:
// `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
// `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Display name (max 256 chars).
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// Short description (max 256 chars).
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// The creation timestamp of a inspectTemplate, output only field.
CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// The last update timestamp of a inspectTemplate, output only field.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// The core content of the template. Configuration of the scanning process.
InspectConfig *InspectConfig `protobuf:"bytes,6,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectTemplate) Reset() { *m = InspectTemplate{} }
func (m *InspectTemplate) String() string { return proto.CompactTextString(m) }
func (*InspectTemplate) ProtoMessage() {}
func (*InspectTemplate) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{63}
}
func (m *InspectTemplate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectTemplate.Unmarshal(m, b)
}
func (m *InspectTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectTemplate.Marshal(b, m, deterministic)
}
func (dst *InspectTemplate) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectTemplate.Merge(dst, src)
}
func (m *InspectTemplate) XXX_Size() int {
return xxx_messageInfo_InspectTemplate.Size(m)
}
func (m *InspectTemplate) XXX_DiscardUnknown() {
xxx_messageInfo_InspectTemplate.DiscardUnknown(m)
}
var xxx_messageInfo_InspectTemplate proto.InternalMessageInfo
func (m *InspectTemplate) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *InspectTemplate) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *InspectTemplate) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func (m *InspectTemplate) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *InspectTemplate) GetUpdateTime() *timestamp.Timestamp {
if m != nil {
return m.UpdateTime
}
return nil
}
func (m *InspectTemplate) GetInspectConfig() *InspectConfig {
if m != nil {
return m.InspectConfig
}
return nil
}
// The DeidentifyTemplates contains instructions on how to deidentify content.
// See https://cloud.google.com/dlp/docs/concepts-templates to learn more.
type DeidentifyTemplate struct {
// The template name. Output only.
//
// The template will have one of the following formats:
// `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR
// `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Display name (max 256 chars).
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// Short description (max 256 chars).
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// The creation timestamp of a inspectTemplate, output only field.
CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// The last update timestamp of a inspectTemplate, output only field.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// ///////////// // The core content of the template // ///////////////
DeidentifyConfig *DeidentifyConfig `protobuf:"bytes,6,opt,name=deidentify_config,json=deidentifyConfig,proto3" json:"deidentify_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeidentifyTemplate) Reset() { *m = DeidentifyTemplate{} }
func (m *DeidentifyTemplate) String() string { return proto.CompactTextString(m) }
func (*DeidentifyTemplate) ProtoMessage() {}
func (*DeidentifyTemplate) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{64}
}
func (m *DeidentifyTemplate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeidentifyTemplate.Unmarshal(m, b)
}
func (m *DeidentifyTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeidentifyTemplate.Marshal(b, m, deterministic)
}
func (dst *DeidentifyTemplate) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeidentifyTemplate.Merge(dst, src)
}
func (m *DeidentifyTemplate) XXX_Size() int {
return xxx_messageInfo_DeidentifyTemplate.Size(m)
}
func (m *DeidentifyTemplate) XXX_DiscardUnknown() {
xxx_messageInfo_DeidentifyTemplate.DiscardUnknown(m)
}
var xxx_messageInfo_DeidentifyTemplate proto.InternalMessageInfo
func (m *DeidentifyTemplate) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *DeidentifyTemplate) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *DeidentifyTemplate) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func (m *DeidentifyTemplate) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *DeidentifyTemplate) GetUpdateTime() *timestamp.Timestamp {
if m != nil {
return m.UpdateTime
}
return nil
}
func (m *DeidentifyTemplate) GetDeidentifyConfig() *DeidentifyConfig {
if m != nil {
return m.DeidentifyConfig
}
return nil
}
// Details information about an error encountered during job execution or
// the results of an unsuccessful activation of the JobTrigger.
// Output only field.
type Error struct {
Details *status.Status `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
// The times the error occurred.
Timestamps []*timestamp.Timestamp `protobuf:"bytes,2,rep,name=timestamps,proto3" json:"timestamps,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Error) Reset() { *m = Error{} }
func (m *Error) String() string { return proto.CompactTextString(m) }
func (*Error) ProtoMessage() {}
func (*Error) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{65}
}
func (m *Error) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Error.Unmarshal(m, b)
}
func (m *Error) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Error.Marshal(b, m, deterministic)
}
func (dst *Error) XXX_Merge(src proto.Message) {
xxx_messageInfo_Error.Merge(dst, src)
}
func (m *Error) XXX_Size() int {
return xxx_messageInfo_Error.Size(m)
}
func (m *Error) XXX_DiscardUnknown() {
xxx_messageInfo_Error.DiscardUnknown(m)
}
var xxx_messageInfo_Error proto.InternalMessageInfo
func (m *Error) GetDetails() *status.Status {
if m != nil {
return m.Details
}
return nil
}
func (m *Error) GetTimestamps() []*timestamp.Timestamp {
if m != nil {
return m.Timestamps
}
return nil
}
// Contains a configuration to make dlp api calls on a repeating basis.
// See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
type JobTrigger struct {
// Unique resource name for the triggeredJob, assigned by the service when the
// triggeredJob is created, for example
// `projects/dlp-test-project/triggeredJobs/53234423`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Display name (max 100 chars)
DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// User provided description (max 256 chars)
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// The configuration details for the specific type of job to run.
//
// Types that are valid to be assigned to Job:
// *JobTrigger_InspectJob
Job isJobTrigger_Job `protobuf_oneof:"job"`
// A list of triggers which will be OR'ed together. Only one in the list
// needs to trigger for a job to be started. The list may contain only
// a single Schedule trigger and must have at least one object.
Triggers []*JobTrigger_Trigger `protobuf:"bytes,5,rep,name=triggers,proto3" json:"triggers,omitempty"`
// A stream of errors encountered when the trigger was activated. Repeated
// errors may result in the JobTrigger automaticaly being paused.
// Will return the last 100 errors. Whenever the JobTrigger is modified
// this list will be cleared. Output only field.
Errors []*Error `protobuf:"bytes,6,rep,name=errors,proto3" json:"errors,omitempty"`
// The creation timestamp of a triggeredJob, output only field.
CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// The last update timestamp of a triggeredJob, output only field.
UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// The timestamp of the last time this trigger executed, output only field.
LastRunTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_run_time,json=lastRunTime,proto3" json:"last_run_time,omitempty"`
// A status for this trigger. [required]
Status JobTrigger_Status `protobuf:"varint,10,opt,name=status,proto3,enum=google.privacy.dlp.v2.JobTrigger_Status" json:"status,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *JobTrigger) Reset() { *m = JobTrigger{} }
func (m *JobTrigger) String() string { return proto.CompactTextString(m) }
func (*JobTrigger) ProtoMessage() {}
func (*JobTrigger) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{66}
}
func (m *JobTrigger) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JobTrigger.Unmarshal(m, b)
}
func (m *JobTrigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_JobTrigger.Marshal(b, m, deterministic)
}
func (dst *JobTrigger) XXX_Merge(src proto.Message) {
xxx_messageInfo_JobTrigger.Merge(dst, src)
}
func (m *JobTrigger) XXX_Size() int {
return xxx_messageInfo_JobTrigger.Size(m)
}
func (m *JobTrigger) XXX_DiscardUnknown() {
xxx_messageInfo_JobTrigger.DiscardUnknown(m)
}
var xxx_messageInfo_JobTrigger proto.InternalMessageInfo
func (m *JobTrigger) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *JobTrigger) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *JobTrigger) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
type isJobTrigger_Job interface {
isJobTrigger_Job()
}
type JobTrigger_InspectJob struct {
InspectJob *InspectJobConfig `protobuf:"bytes,4,opt,name=inspect_job,json=inspectJob,proto3,oneof"`
}
func (*JobTrigger_InspectJob) isJobTrigger_Job() {}
func (m *JobTrigger) GetJob() isJobTrigger_Job {
if m != nil {
return m.Job
}
return nil
}
func (m *JobTrigger) GetInspectJob() *InspectJobConfig {
if x, ok := m.GetJob().(*JobTrigger_InspectJob); ok {
return x.InspectJob
}
return nil
}
func (m *JobTrigger) GetTriggers() []*JobTrigger_Trigger {
if m != nil {
return m.Triggers
}
return nil
}
func (m *JobTrigger) GetErrors() []*Error {
if m != nil {
return m.Errors
}
return nil
}
func (m *JobTrigger) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *JobTrigger) GetUpdateTime() *timestamp.Timestamp {
if m != nil {
return m.UpdateTime
}
return nil
}
func (m *JobTrigger) GetLastRunTime() *timestamp.Timestamp {
if m != nil {
return m.LastRunTime
}
return nil
}
func (m *JobTrigger) GetStatus() JobTrigger_Status {
if m != nil {
return m.Status
}
return JobTrigger_STATUS_UNSPECIFIED
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*JobTrigger) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _JobTrigger_OneofMarshaler, _JobTrigger_OneofUnmarshaler, _JobTrigger_OneofSizer, []interface{}{
(*JobTrigger_InspectJob)(nil),
}
}
func _JobTrigger_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*JobTrigger)
// job
switch x := m.Job.(type) {
case *JobTrigger_InspectJob:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InspectJob); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("JobTrigger.Job has unexpected type %T", x)
}
return nil
}
func _JobTrigger_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*JobTrigger)
switch tag {
case 4: // job.inspect_job
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InspectJobConfig)
err := b.DecodeMessage(msg)
m.Job = &JobTrigger_InspectJob{msg}
return true, err
default:
return false, nil
}
}
func _JobTrigger_OneofSizer(msg proto.Message) (n int) {
m := msg.(*JobTrigger)
// job
switch x := m.Job.(type) {
case *JobTrigger_InspectJob:
s := proto.Size(x.InspectJob)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// What event needs to occur for a new job to be started.
type JobTrigger_Trigger struct {
// Types that are valid to be assigned to Trigger:
// *JobTrigger_Trigger_Schedule
Trigger isJobTrigger_Trigger_Trigger `protobuf_oneof:"trigger"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *JobTrigger_Trigger) Reset() { *m = JobTrigger_Trigger{} }
func (m *JobTrigger_Trigger) String() string { return proto.CompactTextString(m) }
func (*JobTrigger_Trigger) ProtoMessage() {}
func (*JobTrigger_Trigger) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{66, 0}
}
func (m *JobTrigger_Trigger) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JobTrigger_Trigger.Unmarshal(m, b)
}
func (m *JobTrigger_Trigger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_JobTrigger_Trigger.Marshal(b, m, deterministic)
}
func (dst *JobTrigger_Trigger) XXX_Merge(src proto.Message) {
xxx_messageInfo_JobTrigger_Trigger.Merge(dst, src)
}
func (m *JobTrigger_Trigger) XXX_Size() int {
return xxx_messageInfo_JobTrigger_Trigger.Size(m)
}
func (m *JobTrigger_Trigger) XXX_DiscardUnknown() {
xxx_messageInfo_JobTrigger_Trigger.DiscardUnknown(m)
}
var xxx_messageInfo_JobTrigger_Trigger proto.InternalMessageInfo
type isJobTrigger_Trigger_Trigger interface {
isJobTrigger_Trigger_Trigger()
}
type JobTrigger_Trigger_Schedule struct {
Schedule *Schedule `protobuf:"bytes,1,opt,name=schedule,proto3,oneof"`
}
func (*JobTrigger_Trigger_Schedule) isJobTrigger_Trigger_Trigger() {}
func (m *JobTrigger_Trigger) GetTrigger() isJobTrigger_Trigger_Trigger {
if m != nil {
return m.Trigger
}
return nil
}
func (m *JobTrigger_Trigger) GetSchedule() *Schedule {
if x, ok := m.GetTrigger().(*JobTrigger_Trigger_Schedule); ok {
return x.Schedule
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*JobTrigger_Trigger) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _JobTrigger_Trigger_OneofMarshaler, _JobTrigger_Trigger_OneofUnmarshaler, _JobTrigger_Trigger_OneofSizer, []interface{}{
(*JobTrigger_Trigger_Schedule)(nil),
}
}
func _JobTrigger_Trigger_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*JobTrigger_Trigger)
// trigger
switch x := m.Trigger.(type) {
case *JobTrigger_Trigger_Schedule:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Schedule); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("JobTrigger_Trigger.Trigger has unexpected type %T", x)
}
return nil
}
func _JobTrigger_Trigger_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*JobTrigger_Trigger)
switch tag {
case 1: // trigger.schedule
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Schedule)
err := b.DecodeMessage(msg)
m.Trigger = &JobTrigger_Trigger_Schedule{msg}
return true, err
default:
return false, nil
}
}
func _JobTrigger_Trigger_OneofSizer(msg proto.Message) (n int) {
m := msg.(*JobTrigger_Trigger)
// trigger
switch x := m.Trigger.(type) {
case *JobTrigger_Trigger_Schedule:
s := proto.Size(x.Schedule)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// A task to execute on the completion of a job.
// See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
type Action struct {
// Types that are valid to be assigned to Action:
// *Action_SaveFindings_
// *Action_PubSub
// *Action_PublishSummaryToCscc_
Action isAction_Action `protobuf_oneof:"action"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Action) Reset() { *m = Action{} }
func (m *Action) String() string { return proto.CompactTextString(m) }
func (*Action) ProtoMessage() {}
func (*Action) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{67}
}
func (m *Action) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Action.Unmarshal(m, b)
}
func (m *Action) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Action.Marshal(b, m, deterministic)
}
func (dst *Action) XXX_Merge(src proto.Message) {
xxx_messageInfo_Action.Merge(dst, src)
}
func (m *Action) XXX_Size() int {
return xxx_messageInfo_Action.Size(m)
}
func (m *Action) XXX_DiscardUnknown() {
xxx_messageInfo_Action.DiscardUnknown(m)
}
var xxx_messageInfo_Action proto.InternalMessageInfo
type isAction_Action interface {
isAction_Action()
}
type Action_SaveFindings_ struct {
SaveFindings *Action_SaveFindings `protobuf:"bytes,1,opt,name=save_findings,json=saveFindings,proto3,oneof"`
}
type Action_PubSub struct {
PubSub *Action_PublishToPubSub `protobuf:"bytes,2,opt,name=pub_sub,json=pubSub,proto3,oneof"`
}
type Action_PublishSummaryToCscc_ struct {
PublishSummaryToCscc *Action_PublishSummaryToCscc `protobuf:"bytes,3,opt,name=publish_summary_to_cscc,json=publishSummaryToCscc,proto3,oneof"`
}
func (*Action_SaveFindings_) isAction_Action() {}
func (*Action_PubSub) isAction_Action() {}
func (*Action_PublishSummaryToCscc_) isAction_Action() {}
func (m *Action) GetAction() isAction_Action {
if m != nil {
return m.Action
}
return nil
}
func (m *Action) GetSaveFindings() *Action_SaveFindings {
if x, ok := m.GetAction().(*Action_SaveFindings_); ok {
return x.SaveFindings
}
return nil
}
func (m *Action) GetPubSub() *Action_PublishToPubSub {
if x, ok := m.GetAction().(*Action_PubSub); ok {
return x.PubSub
}
return nil
}
func (m *Action) GetPublishSummaryToCscc() *Action_PublishSummaryToCscc {
if x, ok := m.GetAction().(*Action_PublishSummaryToCscc_); ok {
return x.PublishSummaryToCscc
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*Action) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _Action_OneofMarshaler, _Action_OneofUnmarshaler, _Action_OneofSizer, []interface{}{
(*Action_SaveFindings_)(nil),
(*Action_PubSub)(nil),
(*Action_PublishSummaryToCscc_)(nil),
}
}
func _Action_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*Action)
// action
switch x := m.Action.(type) {
case *Action_SaveFindings_:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.SaveFindings); err != nil {
return err
}
case *Action_PubSub:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PubSub); err != nil {
return err
}
case *Action_PublishSummaryToCscc_:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PublishSummaryToCscc); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("Action.Action has unexpected type %T", x)
}
return nil
}
func _Action_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*Action)
switch tag {
case 1: // action.save_findings
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Action_SaveFindings)
err := b.DecodeMessage(msg)
m.Action = &Action_SaveFindings_{msg}
return true, err
case 2: // action.pub_sub
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Action_PublishToPubSub)
err := b.DecodeMessage(msg)
m.Action = &Action_PubSub{msg}
return true, err
case 3: // action.publish_summary_to_cscc
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Action_PublishSummaryToCscc)
err := b.DecodeMessage(msg)
m.Action = &Action_PublishSummaryToCscc_{msg}
return true, err
default:
return false, nil
}
}
func _Action_OneofSizer(msg proto.Message) (n int) {
m := msg.(*Action)
// action
switch x := m.Action.(type) {
case *Action_SaveFindings_:
s := proto.Size(x.SaveFindings)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Action_PubSub:
s := proto.Size(x.PubSub)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *Action_PublishSummaryToCscc_:
s := proto.Size(x.PublishSummaryToCscc)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// If set, the detailed findings will be persisted to the specified
// OutputStorageConfig. Only a single instance of this action can be
// specified.
// Compatible with: Inspect, Risk
type Action_SaveFindings struct {
OutputConfig *OutputStorageConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Action_SaveFindings) Reset() { *m = Action_SaveFindings{} }
func (m *Action_SaveFindings) String() string { return proto.CompactTextString(m) }
func (*Action_SaveFindings) ProtoMessage() {}
func (*Action_SaveFindings) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{67, 0}
}
func (m *Action_SaveFindings) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Action_SaveFindings.Unmarshal(m, b)
}
func (m *Action_SaveFindings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Action_SaveFindings.Marshal(b, m, deterministic)
}
func (dst *Action_SaveFindings) XXX_Merge(src proto.Message) {
xxx_messageInfo_Action_SaveFindings.Merge(dst, src)
}
func (m *Action_SaveFindings) XXX_Size() int {
return xxx_messageInfo_Action_SaveFindings.Size(m)
}
func (m *Action_SaveFindings) XXX_DiscardUnknown() {
xxx_messageInfo_Action_SaveFindings.DiscardUnknown(m)
}
var xxx_messageInfo_Action_SaveFindings proto.InternalMessageInfo
func (m *Action_SaveFindings) GetOutputConfig() *OutputStorageConfig {
if m != nil {
return m.OutputConfig
}
return nil
}
// Publish the results of a DlpJob to a pub sub channel.
// Compatible with: Inspect, Risk
type Action_PublishToPubSub struct {
// Cloud Pub/Sub topic to send notifications to. The topic must have given
// publishing access rights to the DLP API service account executing
// the long running DlpJob sending the notifications.
// Format is projects/{project}/topics/{topic}.
Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Action_PublishToPubSub) Reset() { *m = Action_PublishToPubSub{} }
func (m *Action_PublishToPubSub) String() string { return proto.CompactTextString(m) }
func (*Action_PublishToPubSub) ProtoMessage() {}
func (*Action_PublishToPubSub) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{67, 1}
}
func (m *Action_PublishToPubSub) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Action_PublishToPubSub.Unmarshal(m, b)
}
func (m *Action_PublishToPubSub) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Action_PublishToPubSub.Marshal(b, m, deterministic)
}
func (dst *Action_PublishToPubSub) XXX_Merge(src proto.Message) {
xxx_messageInfo_Action_PublishToPubSub.Merge(dst, src)
}
func (m *Action_PublishToPubSub) XXX_Size() int {
return xxx_messageInfo_Action_PublishToPubSub.Size(m)
}
func (m *Action_PublishToPubSub) XXX_DiscardUnknown() {
xxx_messageInfo_Action_PublishToPubSub.DiscardUnknown(m)
}
var xxx_messageInfo_Action_PublishToPubSub proto.InternalMessageInfo
func (m *Action_PublishToPubSub) GetTopic() string {
if m != nil {
return m.Topic
}
return ""
}
// Publish the result summary of a DlpJob to the Cloud Security
// Command Center (CSCC Alpha).
// This action is only available for projects which are parts of
// an organization and whitelisted for the alpha Cloud Security Command
// Center.
// The action will publish count of finding instances and their info types.
// The summary of findings will be persisted in CSCC and are governed by CSCC
// service-specific policy, see https://cloud.google.com/terms/service-terms
// Only a single instance of this action can be specified.
// Compatible with: Inspect
type Action_PublishSummaryToCscc struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Action_PublishSummaryToCscc) Reset() { *m = Action_PublishSummaryToCscc{} }
func (m *Action_PublishSummaryToCscc) String() string { return proto.CompactTextString(m) }
func (*Action_PublishSummaryToCscc) ProtoMessage() {}
func (*Action_PublishSummaryToCscc) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{67, 2}
}
func (m *Action_PublishSummaryToCscc) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Action_PublishSummaryToCscc.Unmarshal(m, b)
}
func (m *Action_PublishSummaryToCscc) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Action_PublishSummaryToCscc.Marshal(b, m, deterministic)
}
func (dst *Action_PublishSummaryToCscc) XXX_Merge(src proto.Message) {
xxx_messageInfo_Action_PublishSummaryToCscc.Merge(dst, src)
}
func (m *Action_PublishSummaryToCscc) XXX_Size() int {
return xxx_messageInfo_Action_PublishSummaryToCscc.Size(m)
}
func (m *Action_PublishSummaryToCscc) XXX_DiscardUnknown() {
xxx_messageInfo_Action_PublishSummaryToCscc.DiscardUnknown(m)
}
var xxx_messageInfo_Action_PublishSummaryToCscc proto.InternalMessageInfo
// Request message for CreateInspectTemplate.
type CreateInspectTemplateRequest struct {
// The parent resource name, for example projects/my-project-id or
// organizations/my-org-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The InspectTemplate to create.
InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"`
// The template id can contain uppercase and lowercase letters,
// numbers, and hyphens; that is, it must match the regular
// expression: `[a-zA-Z\\d-]+`. The maximum length is 100
// characters. Can be empty to allow the system to generate one.
TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateInspectTemplateRequest) Reset() { *m = CreateInspectTemplateRequest{} }
func (m *CreateInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*CreateInspectTemplateRequest) ProtoMessage() {}
func (*CreateInspectTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{68}
}
func (m *CreateInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateInspectTemplateRequest.Unmarshal(m, b)
}
func (m *CreateInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateInspectTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *CreateInspectTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateInspectTemplateRequest.Merge(dst, src)
}
func (m *CreateInspectTemplateRequest) XXX_Size() int {
return xxx_messageInfo_CreateInspectTemplateRequest.Size(m)
}
func (m *CreateInspectTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateInspectTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateInspectTemplateRequest proto.InternalMessageInfo
func (m *CreateInspectTemplateRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *CreateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate {
if m != nil {
return m.InspectTemplate
}
return nil
}
func (m *CreateInspectTemplateRequest) GetTemplateId() string {
if m != nil {
return m.TemplateId
}
return ""
}
// Request message for UpdateInspectTemplate.
type UpdateInspectTemplateRequest struct {
// Resource name of organization and inspectTemplate to be updated, for
// example `organizations/433245324/inspectTemplates/432452342` or
// projects/project-id/inspectTemplates/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// New InspectTemplate value.
InspectTemplate *InspectTemplate `protobuf:"bytes,2,opt,name=inspect_template,json=inspectTemplate,proto3" json:"inspect_template,omitempty"`
// Mask to control which fields get updated.
UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateInspectTemplateRequest) Reset() { *m = UpdateInspectTemplateRequest{} }
func (m *UpdateInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateInspectTemplateRequest) ProtoMessage() {}
func (*UpdateInspectTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{69}
}
func (m *UpdateInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateInspectTemplateRequest.Unmarshal(m, b)
}
func (m *UpdateInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateInspectTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *UpdateInspectTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateInspectTemplateRequest.Merge(dst, src)
}
func (m *UpdateInspectTemplateRequest) XXX_Size() int {
return xxx_messageInfo_UpdateInspectTemplateRequest.Size(m)
}
func (m *UpdateInspectTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateInspectTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateInspectTemplateRequest proto.InternalMessageInfo
func (m *UpdateInspectTemplateRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *UpdateInspectTemplateRequest) GetInspectTemplate() *InspectTemplate {
if m != nil {
return m.InspectTemplate
}
return nil
}
func (m *UpdateInspectTemplateRequest) GetUpdateMask() *field_mask.FieldMask {
if m != nil {
return m.UpdateMask
}
return nil
}
// Request message for GetInspectTemplate.
type GetInspectTemplateRequest struct {
// Resource name of the organization and inspectTemplate to be read, for
// example `organizations/433245324/inspectTemplates/432452342` or
// projects/project-id/inspectTemplates/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetInspectTemplateRequest) Reset() { *m = GetInspectTemplateRequest{} }
func (m *GetInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*GetInspectTemplateRequest) ProtoMessage() {}
func (*GetInspectTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{70}
}
func (m *GetInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetInspectTemplateRequest.Unmarshal(m, b)
}
func (m *GetInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetInspectTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *GetInspectTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetInspectTemplateRequest.Merge(dst, src)
}
func (m *GetInspectTemplateRequest) XXX_Size() int {
return xxx_messageInfo_GetInspectTemplateRequest.Size(m)
}
func (m *GetInspectTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetInspectTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetInspectTemplateRequest proto.InternalMessageInfo
func (m *GetInspectTemplateRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for ListInspectTemplates.
type ListInspectTemplatesRequest struct {
// The parent resource name, for example projects/my-project-id or
// organizations/my-org-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional page token to continue retrieval. Comes from previous call
// to `ListInspectTemplates`.
PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional size of the page, can be limited by server. If zero server returns
// a page of max size 100.
PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListInspectTemplatesRequest) Reset() { *m = ListInspectTemplatesRequest{} }
func (m *ListInspectTemplatesRequest) String() string { return proto.CompactTextString(m) }
func (*ListInspectTemplatesRequest) ProtoMessage() {}
func (*ListInspectTemplatesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{71}
}
func (m *ListInspectTemplatesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInspectTemplatesRequest.Unmarshal(m, b)
}
func (m *ListInspectTemplatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListInspectTemplatesRequest.Marshal(b, m, deterministic)
}
func (dst *ListInspectTemplatesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListInspectTemplatesRequest.Merge(dst, src)
}
func (m *ListInspectTemplatesRequest) XXX_Size() int {
return xxx_messageInfo_ListInspectTemplatesRequest.Size(m)
}
func (m *ListInspectTemplatesRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListInspectTemplatesRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListInspectTemplatesRequest proto.InternalMessageInfo
func (m *ListInspectTemplatesRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ListInspectTemplatesRequest) GetPageToken() string {
if m != nil {
return m.PageToken
}
return ""
}
func (m *ListInspectTemplatesRequest) GetPageSize() int32 {
if m != nil {
return m.PageSize
}
return 0
}
// Response message for ListInspectTemplates.
type ListInspectTemplatesResponse struct {
// List of inspectTemplates, up to page_size in ListInspectTemplatesRequest.
InspectTemplates []*InspectTemplate `protobuf:"bytes,1,rep,name=inspect_templates,json=inspectTemplates,proto3" json:"inspect_templates,omitempty"`
// If the next page is available then the next page token to be used
// in following ListInspectTemplates request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListInspectTemplatesResponse) Reset() { *m = ListInspectTemplatesResponse{} }
func (m *ListInspectTemplatesResponse) String() string { return proto.CompactTextString(m) }
func (*ListInspectTemplatesResponse) ProtoMessage() {}
func (*ListInspectTemplatesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{72}
}
func (m *ListInspectTemplatesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInspectTemplatesResponse.Unmarshal(m, b)
}
func (m *ListInspectTemplatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListInspectTemplatesResponse.Marshal(b, m, deterministic)
}
func (dst *ListInspectTemplatesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListInspectTemplatesResponse.Merge(dst, src)
}
func (m *ListInspectTemplatesResponse) XXX_Size() int {
return xxx_messageInfo_ListInspectTemplatesResponse.Size(m)
}
func (m *ListInspectTemplatesResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListInspectTemplatesResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListInspectTemplatesResponse proto.InternalMessageInfo
func (m *ListInspectTemplatesResponse) GetInspectTemplates() []*InspectTemplate {
if m != nil {
return m.InspectTemplates
}
return nil
}
func (m *ListInspectTemplatesResponse) GetNextPageToken() string {
if m != nil {
return m.NextPageToken
}
return ""
}
// Request message for DeleteInspectTemplate.
type DeleteInspectTemplateRequest struct {
// Resource name of the organization and inspectTemplate to be deleted, for
// example `organizations/433245324/inspectTemplates/432452342` or
// projects/project-id/inspectTemplates/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteInspectTemplateRequest) Reset() { *m = DeleteInspectTemplateRequest{} }
func (m *DeleteInspectTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteInspectTemplateRequest) ProtoMessage() {}
func (*DeleteInspectTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{73}
}
func (m *DeleteInspectTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteInspectTemplateRequest.Unmarshal(m, b)
}
func (m *DeleteInspectTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteInspectTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteInspectTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteInspectTemplateRequest.Merge(dst, src)
}
func (m *DeleteInspectTemplateRequest) XXX_Size() int {
return xxx_messageInfo_DeleteInspectTemplateRequest.Size(m)
}
func (m *DeleteInspectTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteInspectTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteInspectTemplateRequest proto.InternalMessageInfo
func (m *DeleteInspectTemplateRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for CreateJobTrigger.
type CreateJobTriggerRequest struct {
// The parent resource name, for example projects/my-project-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The JobTrigger to create.
JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"`
// The trigger id can contain uppercase and lowercase letters,
// numbers, and hyphens; that is, it must match the regular
// expression: `[a-zA-Z\\d-]+`. The maximum length is 100
// characters. Can be empty to allow the system to generate one.
TriggerId string `protobuf:"bytes,3,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateJobTriggerRequest) Reset() { *m = CreateJobTriggerRequest{} }
func (m *CreateJobTriggerRequest) String() string { return proto.CompactTextString(m) }
func (*CreateJobTriggerRequest) ProtoMessage() {}
func (*CreateJobTriggerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{74}
}
func (m *CreateJobTriggerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateJobTriggerRequest.Unmarshal(m, b)
}
func (m *CreateJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateJobTriggerRequest.Marshal(b, m, deterministic)
}
func (dst *CreateJobTriggerRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateJobTriggerRequest.Merge(dst, src)
}
func (m *CreateJobTriggerRequest) XXX_Size() int {
return xxx_messageInfo_CreateJobTriggerRequest.Size(m)
}
func (m *CreateJobTriggerRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateJobTriggerRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateJobTriggerRequest proto.InternalMessageInfo
func (m *CreateJobTriggerRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *CreateJobTriggerRequest) GetJobTrigger() *JobTrigger {
if m != nil {
return m.JobTrigger
}
return nil
}
func (m *CreateJobTriggerRequest) GetTriggerId() string {
if m != nil {
return m.TriggerId
}
return ""
}
// Request message for UpdateJobTrigger.
type UpdateJobTriggerRequest struct {
// Resource name of the project and the triggeredJob, for example
// `projects/dlp-test-project/jobTriggers/53234423`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// New JobTrigger value.
JobTrigger *JobTrigger `protobuf:"bytes,2,opt,name=job_trigger,json=jobTrigger,proto3" json:"job_trigger,omitempty"`
// Mask to control which fields get updated.
UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateJobTriggerRequest) Reset() { *m = UpdateJobTriggerRequest{} }
func (m *UpdateJobTriggerRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateJobTriggerRequest) ProtoMessage() {}
func (*UpdateJobTriggerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{75}
}
func (m *UpdateJobTriggerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateJobTriggerRequest.Unmarshal(m, b)
}
func (m *UpdateJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateJobTriggerRequest.Marshal(b, m, deterministic)
}
func (dst *UpdateJobTriggerRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateJobTriggerRequest.Merge(dst, src)
}
func (m *UpdateJobTriggerRequest) XXX_Size() int {
return xxx_messageInfo_UpdateJobTriggerRequest.Size(m)
}
func (m *UpdateJobTriggerRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateJobTriggerRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateJobTriggerRequest proto.InternalMessageInfo
func (m *UpdateJobTriggerRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *UpdateJobTriggerRequest) GetJobTrigger() *JobTrigger {
if m != nil {
return m.JobTrigger
}
return nil
}
func (m *UpdateJobTriggerRequest) GetUpdateMask() *field_mask.FieldMask {
if m != nil {
return m.UpdateMask
}
return nil
}
// Request message for GetJobTrigger.
type GetJobTriggerRequest struct {
// Resource name of the project and the triggeredJob, for example
// `projects/dlp-test-project/jobTriggers/53234423`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetJobTriggerRequest) Reset() { *m = GetJobTriggerRequest{} }
func (m *GetJobTriggerRequest) String() string { return proto.CompactTextString(m) }
func (*GetJobTriggerRequest) ProtoMessage() {}
func (*GetJobTriggerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{76}
}
func (m *GetJobTriggerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJobTriggerRequest.Unmarshal(m, b)
}
func (m *GetJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetJobTriggerRequest.Marshal(b, m, deterministic)
}
func (dst *GetJobTriggerRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetJobTriggerRequest.Merge(dst, src)
}
func (m *GetJobTriggerRequest) XXX_Size() int {
return xxx_messageInfo_GetJobTriggerRequest.Size(m)
}
func (m *GetJobTriggerRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetJobTriggerRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetJobTriggerRequest proto.InternalMessageInfo
func (m *GetJobTriggerRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for CreateDlpJobRequest. Used to initiate long running
// jobs such as calculating risk metrics or inspecting Google Cloud
// Storage.
type CreateDlpJobRequest struct {
// The parent resource name, for example projects/my-project-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The configuration details for the specific type of job to run.
//
// Types that are valid to be assigned to Job:
// *CreateDlpJobRequest_InspectJob
// *CreateDlpJobRequest_RiskJob
Job isCreateDlpJobRequest_Job `protobuf_oneof:"job"`
// The job id can contain uppercase and lowercase letters,
// numbers, and hyphens; that is, it must match the regular
// expression: `[a-zA-Z\\d-]+`. The maximum length is 100
// characters. Can be empty to allow the system to generate one.
JobId string `protobuf:"bytes,4,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateDlpJobRequest) Reset() { *m = CreateDlpJobRequest{} }
func (m *CreateDlpJobRequest) String() string { return proto.CompactTextString(m) }
func (*CreateDlpJobRequest) ProtoMessage() {}
func (*CreateDlpJobRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{77}
}
func (m *CreateDlpJobRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateDlpJobRequest.Unmarshal(m, b)
}
func (m *CreateDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateDlpJobRequest.Marshal(b, m, deterministic)
}
func (dst *CreateDlpJobRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateDlpJobRequest.Merge(dst, src)
}
func (m *CreateDlpJobRequest) XXX_Size() int {
return xxx_messageInfo_CreateDlpJobRequest.Size(m)
}
func (m *CreateDlpJobRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateDlpJobRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateDlpJobRequest proto.InternalMessageInfo
func (m *CreateDlpJobRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
type isCreateDlpJobRequest_Job interface {
isCreateDlpJobRequest_Job()
}
type CreateDlpJobRequest_InspectJob struct {
InspectJob *InspectJobConfig `protobuf:"bytes,2,opt,name=inspect_job,json=inspectJob,proto3,oneof"`
}
type CreateDlpJobRequest_RiskJob struct {
RiskJob *RiskAnalysisJobConfig `protobuf:"bytes,3,opt,name=risk_job,json=riskJob,proto3,oneof"`
}
func (*CreateDlpJobRequest_InspectJob) isCreateDlpJobRequest_Job() {}
func (*CreateDlpJobRequest_RiskJob) isCreateDlpJobRequest_Job() {}
func (m *CreateDlpJobRequest) GetJob() isCreateDlpJobRequest_Job {
if m != nil {
return m.Job
}
return nil
}
func (m *CreateDlpJobRequest) GetInspectJob() *InspectJobConfig {
if x, ok := m.GetJob().(*CreateDlpJobRequest_InspectJob); ok {
return x.InspectJob
}
return nil
}
func (m *CreateDlpJobRequest) GetRiskJob() *RiskAnalysisJobConfig {
if x, ok := m.GetJob().(*CreateDlpJobRequest_RiskJob); ok {
return x.RiskJob
}
return nil
}
func (m *CreateDlpJobRequest) GetJobId() string {
if m != nil {
return m.JobId
}
return ""
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*CreateDlpJobRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _CreateDlpJobRequest_OneofMarshaler, _CreateDlpJobRequest_OneofUnmarshaler, _CreateDlpJobRequest_OneofSizer, []interface{}{
(*CreateDlpJobRequest_InspectJob)(nil),
(*CreateDlpJobRequest_RiskJob)(nil),
}
}
func _CreateDlpJobRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*CreateDlpJobRequest)
// job
switch x := m.Job.(type) {
case *CreateDlpJobRequest_InspectJob:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InspectJob); err != nil {
return err
}
case *CreateDlpJobRequest_RiskJob:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RiskJob); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("CreateDlpJobRequest.Job has unexpected type %T", x)
}
return nil
}
func _CreateDlpJobRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*CreateDlpJobRequest)
switch tag {
case 2: // job.inspect_job
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InspectJobConfig)
err := b.DecodeMessage(msg)
m.Job = &CreateDlpJobRequest_InspectJob{msg}
return true, err
case 3: // job.risk_job
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RiskAnalysisJobConfig)
err := b.DecodeMessage(msg)
m.Job = &CreateDlpJobRequest_RiskJob{msg}
return true, err
default:
return false, nil
}
}
func _CreateDlpJobRequest_OneofSizer(msg proto.Message) (n int) {
m := msg.(*CreateDlpJobRequest)
// job
switch x := m.Job.(type) {
case *CreateDlpJobRequest_InspectJob:
s := proto.Size(x.InspectJob)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CreateDlpJobRequest_RiskJob:
s := proto.Size(x.RiskJob)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Request message for ListJobTriggers.
type ListJobTriggersRequest struct {
// The parent resource name, for example `projects/my-project-id`.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional page token to continue retrieval. Comes from previous call
// to ListJobTriggers. `order_by` field must not
// change for subsequent calls.
PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional size of the page, can be limited by a server.
PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional comma separated list of triggeredJob fields to order by,
// followed by `asc` or `desc` postfix. This list is case-insensitive,
// default sorting order is ascending, redundant space characters are
// insignificant.
//
// Example: `name asc,update_time, create_time desc`
//
// Supported fields are:
//
// - `create_time`: corresponds to time the triggeredJob was created.
// - `update_time`: corresponds to time the triggeredJob was last updated.
// - `name`: corresponds to JobTrigger's name.
OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListJobTriggersRequest) Reset() { *m = ListJobTriggersRequest{} }
func (m *ListJobTriggersRequest) String() string { return proto.CompactTextString(m) }
func (*ListJobTriggersRequest) ProtoMessage() {}
func (*ListJobTriggersRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{78}
}
func (m *ListJobTriggersRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListJobTriggersRequest.Unmarshal(m, b)
}
func (m *ListJobTriggersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListJobTriggersRequest.Marshal(b, m, deterministic)
}
func (dst *ListJobTriggersRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListJobTriggersRequest.Merge(dst, src)
}
func (m *ListJobTriggersRequest) XXX_Size() int {
return xxx_messageInfo_ListJobTriggersRequest.Size(m)
}
func (m *ListJobTriggersRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListJobTriggersRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListJobTriggersRequest proto.InternalMessageInfo
func (m *ListJobTriggersRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ListJobTriggersRequest) GetPageToken() string {
if m != nil {
return m.PageToken
}
return ""
}
func (m *ListJobTriggersRequest) GetPageSize() int32 {
if m != nil {
return m.PageSize
}
return 0
}
func (m *ListJobTriggersRequest) GetOrderBy() string {
if m != nil {
return m.OrderBy
}
return ""
}
// Response message for ListJobTriggers.
type ListJobTriggersResponse struct {
// List of triggeredJobs, up to page_size in ListJobTriggersRequest.
JobTriggers []*JobTrigger `protobuf:"bytes,1,rep,name=job_triggers,json=jobTriggers,proto3" json:"job_triggers,omitempty"`
// If the next page is available then the next page token to be used
// in following ListJobTriggers request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListJobTriggersResponse) Reset() { *m = ListJobTriggersResponse{} }
func (m *ListJobTriggersResponse) String() string { return proto.CompactTextString(m) }
func (*ListJobTriggersResponse) ProtoMessage() {}
func (*ListJobTriggersResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{79}
}
func (m *ListJobTriggersResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListJobTriggersResponse.Unmarshal(m, b)
}
func (m *ListJobTriggersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListJobTriggersResponse.Marshal(b, m, deterministic)
}
func (dst *ListJobTriggersResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListJobTriggersResponse.Merge(dst, src)
}
func (m *ListJobTriggersResponse) XXX_Size() int {
return xxx_messageInfo_ListJobTriggersResponse.Size(m)
}
func (m *ListJobTriggersResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListJobTriggersResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListJobTriggersResponse proto.InternalMessageInfo
func (m *ListJobTriggersResponse) GetJobTriggers() []*JobTrigger {
if m != nil {
return m.JobTriggers
}
return nil
}
func (m *ListJobTriggersResponse) GetNextPageToken() string {
if m != nil {
return m.NextPageToken
}
return ""
}
// Request message for DeleteJobTrigger.
type DeleteJobTriggerRequest struct {
// Resource name of the project and the triggeredJob, for example
// `projects/dlp-test-project/jobTriggers/53234423`.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteJobTriggerRequest) Reset() { *m = DeleteJobTriggerRequest{} }
func (m *DeleteJobTriggerRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteJobTriggerRequest) ProtoMessage() {}
func (*DeleteJobTriggerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{80}
}
func (m *DeleteJobTriggerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteJobTriggerRequest.Unmarshal(m, b)
}
func (m *DeleteJobTriggerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteJobTriggerRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteJobTriggerRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteJobTriggerRequest.Merge(dst, src)
}
func (m *DeleteJobTriggerRequest) XXX_Size() int {
return xxx_messageInfo_DeleteJobTriggerRequest.Size(m)
}
func (m *DeleteJobTriggerRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteJobTriggerRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteJobTriggerRequest proto.InternalMessageInfo
func (m *DeleteJobTriggerRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
type InspectJobConfig struct {
// The data to scan.
StorageConfig *StorageConfig `protobuf:"bytes,1,opt,name=storage_config,json=storageConfig,proto3" json:"storage_config,omitempty"`
// How and what to scan for.
InspectConfig *InspectConfig `protobuf:"bytes,2,opt,name=inspect_config,json=inspectConfig,proto3" json:"inspect_config,omitempty"`
// If provided, will be used as the default for all values in InspectConfig.
// `inspect_config` will be merged into the values persisted as part of the
// template.
InspectTemplateName string `protobuf:"bytes,3,opt,name=inspect_template_name,json=inspectTemplateName,proto3" json:"inspect_template_name,omitempty"`
// Actions to execute at the completion of the job. Are executed in the order
// provided.
Actions []*Action `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *InspectJobConfig) Reset() { *m = InspectJobConfig{} }
func (m *InspectJobConfig) String() string { return proto.CompactTextString(m) }
func (*InspectJobConfig) ProtoMessage() {}
func (*InspectJobConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{81}
}
func (m *InspectJobConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InspectJobConfig.Unmarshal(m, b)
}
func (m *InspectJobConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_InspectJobConfig.Marshal(b, m, deterministic)
}
func (dst *InspectJobConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_InspectJobConfig.Merge(dst, src)
}
func (m *InspectJobConfig) XXX_Size() int {
return xxx_messageInfo_InspectJobConfig.Size(m)
}
func (m *InspectJobConfig) XXX_DiscardUnknown() {
xxx_messageInfo_InspectJobConfig.DiscardUnknown(m)
}
var xxx_messageInfo_InspectJobConfig proto.InternalMessageInfo
func (m *InspectJobConfig) GetStorageConfig() *StorageConfig {
if m != nil {
return m.StorageConfig
}
return nil
}
func (m *InspectJobConfig) GetInspectConfig() *InspectConfig {
if m != nil {
return m.InspectConfig
}
return nil
}
func (m *InspectJobConfig) GetInspectTemplateName() string {
if m != nil {
return m.InspectTemplateName
}
return ""
}
func (m *InspectJobConfig) GetActions() []*Action {
if m != nil {
return m.Actions
}
return nil
}
// Combines all of the information about a DLP job.
type DlpJob struct {
// The server-assigned name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The type of job.
Type DlpJobType `protobuf:"varint,2,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"`
// State of a job.
State DlpJob_JobState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.DlpJob_JobState" json:"state,omitempty"`
// Types that are valid to be assigned to Details:
// *DlpJob_RiskDetails
// *DlpJob_InspectDetails
Details isDlpJob_Details `protobuf_oneof:"details"`
// Time when the job was created.
CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Time when the job started.
StartTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// Time when the job finished.
EndTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
// If created by a job trigger, the resource name of the trigger that
// instantiated the job.
JobTriggerName string `protobuf:"bytes,10,opt,name=job_trigger_name,json=jobTriggerName,proto3" json:"job_trigger_name,omitempty"`
// A stream of errors encountered running the job.
Errors []*Error `protobuf:"bytes,11,rep,name=errors,proto3" json:"errors,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DlpJob) Reset() { *m = DlpJob{} }
func (m *DlpJob) String() string { return proto.CompactTextString(m) }
func (*DlpJob) ProtoMessage() {}
func (*DlpJob) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{82}
}
func (m *DlpJob) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DlpJob.Unmarshal(m, b)
}
func (m *DlpJob) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DlpJob.Marshal(b, m, deterministic)
}
func (dst *DlpJob) XXX_Merge(src proto.Message) {
xxx_messageInfo_DlpJob.Merge(dst, src)
}
func (m *DlpJob) XXX_Size() int {
return xxx_messageInfo_DlpJob.Size(m)
}
func (m *DlpJob) XXX_DiscardUnknown() {
xxx_messageInfo_DlpJob.DiscardUnknown(m)
}
var xxx_messageInfo_DlpJob proto.InternalMessageInfo
func (m *DlpJob) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *DlpJob) GetType() DlpJobType {
if m != nil {
return m.Type
}
return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED
}
func (m *DlpJob) GetState() DlpJob_JobState {
if m != nil {
return m.State
}
return DlpJob_JOB_STATE_UNSPECIFIED
}
type isDlpJob_Details interface {
isDlpJob_Details()
}
type DlpJob_RiskDetails struct {
RiskDetails *AnalyzeDataSourceRiskDetails `protobuf:"bytes,4,opt,name=risk_details,json=riskDetails,proto3,oneof"`
}
type DlpJob_InspectDetails struct {
InspectDetails *InspectDataSourceDetails `protobuf:"bytes,5,opt,name=inspect_details,json=inspectDetails,proto3,oneof"`
}
func (*DlpJob_RiskDetails) isDlpJob_Details() {}
func (*DlpJob_InspectDetails) isDlpJob_Details() {}
func (m *DlpJob) GetDetails() isDlpJob_Details {
if m != nil {
return m.Details
}
return nil
}
func (m *DlpJob) GetRiskDetails() *AnalyzeDataSourceRiskDetails {
if x, ok := m.GetDetails().(*DlpJob_RiskDetails); ok {
return x.RiskDetails
}
return nil
}
func (m *DlpJob) GetInspectDetails() *InspectDataSourceDetails {
if x, ok := m.GetDetails().(*DlpJob_InspectDetails); ok {
return x.InspectDetails
}
return nil
}
func (m *DlpJob) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *DlpJob) GetStartTime() *timestamp.Timestamp {
if m != nil {
return m.StartTime
}
return nil
}
func (m *DlpJob) GetEndTime() *timestamp.Timestamp {
if m != nil {
return m.EndTime
}
return nil
}
func (m *DlpJob) GetJobTriggerName() string {
if m != nil {
return m.JobTriggerName
}
return ""
}
func (m *DlpJob) GetErrors() []*Error {
if m != nil {
return m.Errors
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*DlpJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _DlpJob_OneofMarshaler, _DlpJob_OneofUnmarshaler, _DlpJob_OneofSizer, []interface{}{
(*DlpJob_RiskDetails)(nil),
(*DlpJob_InspectDetails)(nil),
}
}
func _DlpJob_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*DlpJob)
// details
switch x := m.Details.(type) {
case *DlpJob_RiskDetails:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RiskDetails); err != nil {
return err
}
case *DlpJob_InspectDetails:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.InspectDetails); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("DlpJob.Details has unexpected type %T", x)
}
return nil
}
func _DlpJob_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*DlpJob)
switch tag {
case 4: // details.risk_details
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(AnalyzeDataSourceRiskDetails)
err := b.DecodeMessage(msg)
m.Details = &DlpJob_RiskDetails{msg}
return true, err
case 5: // details.inspect_details
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(InspectDataSourceDetails)
err := b.DecodeMessage(msg)
m.Details = &DlpJob_InspectDetails{msg}
return true, err
default:
return false, nil
}
}
func _DlpJob_OneofSizer(msg proto.Message) (n int) {
m := msg.(*DlpJob)
// details
switch x := m.Details.(type) {
case *DlpJob_RiskDetails:
s := proto.Size(x.RiskDetails)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *DlpJob_InspectDetails:
s := proto.Size(x.InspectDetails)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// The request message for [DlpJobs.GetDlpJob][].
type GetDlpJobRequest struct {
// The name of the DlpJob resource.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetDlpJobRequest) Reset() { *m = GetDlpJobRequest{} }
func (m *GetDlpJobRequest) String() string { return proto.CompactTextString(m) }
func (*GetDlpJobRequest) ProtoMessage() {}
func (*GetDlpJobRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{83}
}
func (m *GetDlpJobRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDlpJobRequest.Unmarshal(m, b)
}
func (m *GetDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetDlpJobRequest.Marshal(b, m, deterministic)
}
func (dst *GetDlpJobRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetDlpJobRequest.Merge(dst, src)
}
func (m *GetDlpJobRequest) XXX_Size() int {
return xxx_messageInfo_GetDlpJobRequest.Size(m)
}
func (m *GetDlpJobRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetDlpJobRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetDlpJobRequest proto.InternalMessageInfo
func (m *GetDlpJobRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// The request message for listing DLP jobs.
type ListDlpJobsRequest struct {
// The parent resource name, for example projects/my-project-id.
Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional. Allows filtering.
//
// Supported syntax:
//
// * Filter expressions are made up of one or more restrictions.
// * Restrictions can be combined by `AND` or `OR` logical operators. A
// sequence of restrictions implicitly uses `AND`.
// * A restriction has the form of `<field> <operator> <value>`.
// * Supported fields/values for inspect jobs:
// - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
// - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
// - `trigger_name` - The resource name of the trigger that created job.
// * Supported fields for risk analysis jobs:
// - `state` - RUNNING|CANCELED|FINISHED|FAILED
// * The operator must be `=` or `!=`.
//
// Examples:
//
// * inspected_storage = cloud_storage AND state = done
// * inspected_storage = cloud_storage OR inspected_storage = bigquery
// * inspected_storage = cloud_storage AND (state = done OR state = canceled)
//
// The length of this field should be no more than 500 characters.
Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
// The standard list page size.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The standard list page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// The type of job. Defaults to `DlpJobType.INSPECT`
Type DlpJobType `protobuf:"varint,5,opt,name=type,proto3,enum=google.privacy.dlp.v2.DlpJobType" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListDlpJobsRequest) Reset() { *m = ListDlpJobsRequest{} }
func (m *ListDlpJobsRequest) String() string { return proto.CompactTextString(m) }
func (*ListDlpJobsRequest) ProtoMessage() {}
func (*ListDlpJobsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{84}
}
func (m *ListDlpJobsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListDlpJobsRequest.Unmarshal(m, b)
}
func (m *ListDlpJobsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListDlpJobsRequest.Marshal(b, m, deterministic)
}
func (dst *ListDlpJobsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListDlpJobsRequest.Merge(dst, src)
}
func (m *ListDlpJobsRequest) XXX_Size() int {
return xxx_messageInfo_ListDlpJobsRequest.Size(m)
}
func (m *ListDlpJobsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListDlpJobsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListDlpJobsRequest proto.InternalMessageInfo
func (m *ListDlpJobsRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ListDlpJobsRequest) GetFilter() string {
if m != nil {
return m.Filter
}
return ""
}
func (m *ListDlpJobsRequest) GetPageSize() int32 {
if m != nil {
return m.PageSize
}
return 0
}
func (m *ListDlpJobsRequest) GetPageToken() string {
if m != nil {
return m.PageToken
}
return ""
}
func (m *ListDlpJobsRequest) GetType() DlpJobType {
if m != nil {
return m.Type
}
return DlpJobType_DLP_JOB_TYPE_UNSPECIFIED
}
// The response message for listing DLP jobs.
type ListDlpJobsResponse struct {
// A list of DlpJobs that matches the specified filter in the request.
Jobs []*DlpJob `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
// The standard List next-page token.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListDlpJobsResponse) Reset() { *m = ListDlpJobsResponse{} }
func (m *ListDlpJobsResponse) String() string { return proto.CompactTextString(m) }
func (*ListDlpJobsResponse) ProtoMessage() {}
func (*ListDlpJobsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{85}
}
func (m *ListDlpJobsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListDlpJobsResponse.Unmarshal(m, b)
}
func (m *ListDlpJobsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListDlpJobsResponse.Marshal(b, m, deterministic)
}
func (dst *ListDlpJobsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListDlpJobsResponse.Merge(dst, src)
}
func (m *ListDlpJobsResponse) XXX_Size() int {
return xxx_messageInfo_ListDlpJobsResponse.Size(m)
}
func (m *ListDlpJobsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListDlpJobsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListDlpJobsResponse proto.InternalMessageInfo
func (m *ListDlpJobsResponse) GetJobs() []*DlpJob {
if m != nil {
return m.Jobs
}
return nil
}
func (m *ListDlpJobsResponse) GetNextPageToken() string {
if m != nil {
return m.NextPageToken
}
return ""
}
// The request message for canceling a DLP job.
type CancelDlpJobRequest struct {
// The name of the DlpJob resource to be cancelled.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CancelDlpJobRequest) Reset() { *m = CancelDlpJobRequest{} }
func (m *CancelDlpJobRequest) String() string { return proto.CompactTextString(m) }
func (*CancelDlpJobRequest) ProtoMessage() {}
func (*CancelDlpJobRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{86}
}
func (m *CancelDlpJobRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CancelDlpJobRequest.Unmarshal(m, b)
}
func (m *CancelDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CancelDlpJobRequest.Marshal(b, m, deterministic)
}
func (dst *CancelDlpJobRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CancelDlpJobRequest.Merge(dst, src)
}
func (m *CancelDlpJobRequest) XXX_Size() int {
return xxx_messageInfo_CancelDlpJobRequest.Size(m)
}
func (m *CancelDlpJobRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CancelDlpJobRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CancelDlpJobRequest proto.InternalMessageInfo
func (m *CancelDlpJobRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// The request message for deleting a DLP job.
type DeleteDlpJobRequest struct {
// The name of the DlpJob resource to be deleted.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteDlpJobRequest) Reset() { *m = DeleteDlpJobRequest{} }
func (m *DeleteDlpJobRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteDlpJobRequest) ProtoMessage() {}
func (*DeleteDlpJobRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{87}
}
func (m *DeleteDlpJobRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteDlpJobRequest.Unmarshal(m, b)
}
func (m *DeleteDlpJobRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteDlpJobRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteDlpJobRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteDlpJobRequest.Merge(dst, src)
}
func (m *DeleteDlpJobRequest) XXX_Size() int {
return xxx_messageInfo_DeleteDlpJobRequest.Size(m)
}
func (m *DeleteDlpJobRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteDlpJobRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteDlpJobRequest proto.InternalMessageInfo
func (m *DeleteDlpJobRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for CreateDeidentifyTemplate.
type CreateDeidentifyTemplateRequest struct {
// The parent resource name, for example projects/my-project-id or
// organizations/my-org-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The DeidentifyTemplate to create.
DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"`
// The template id can contain uppercase and lowercase letters,
// numbers, and hyphens; that is, it must match the regular
// expression: `[a-zA-Z\\d-]+`. The maximum length is 100
// characters. Can be empty to allow the system to generate one.
TemplateId string `protobuf:"bytes,3,opt,name=template_id,json=templateId,proto3" json:"template_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateDeidentifyTemplateRequest) Reset() { *m = CreateDeidentifyTemplateRequest{} }
func (m *CreateDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*CreateDeidentifyTemplateRequest) ProtoMessage() {}
func (*CreateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{88}
}
func (m *CreateDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateDeidentifyTemplateRequest.Unmarshal(m, b)
}
func (m *CreateDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateDeidentifyTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *CreateDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateDeidentifyTemplateRequest.Merge(dst, src)
}
func (m *CreateDeidentifyTemplateRequest) XXX_Size() int {
return xxx_messageInfo_CreateDeidentifyTemplateRequest.Size(m)
}
func (m *CreateDeidentifyTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateDeidentifyTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateDeidentifyTemplateRequest proto.InternalMessageInfo
func (m *CreateDeidentifyTemplateRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *CreateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate {
if m != nil {
return m.DeidentifyTemplate
}
return nil
}
func (m *CreateDeidentifyTemplateRequest) GetTemplateId() string {
if m != nil {
return m.TemplateId
}
return ""
}
// Request message for UpdateDeidentifyTemplate.
type UpdateDeidentifyTemplateRequest struct {
// Resource name of organization and deidentify template to be updated, for
// example `organizations/433245324/deidentifyTemplates/432452342` or
// projects/project-id/deidentifyTemplates/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// New DeidentifyTemplate value.
DeidentifyTemplate *DeidentifyTemplate `protobuf:"bytes,2,opt,name=deidentify_template,json=deidentifyTemplate,proto3" json:"deidentify_template,omitempty"`
// Mask to control which fields get updated.
UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateDeidentifyTemplateRequest) Reset() { *m = UpdateDeidentifyTemplateRequest{} }
func (m *UpdateDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateDeidentifyTemplateRequest) ProtoMessage() {}
func (*UpdateDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{89}
}
func (m *UpdateDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateDeidentifyTemplateRequest.Unmarshal(m, b)
}
func (m *UpdateDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateDeidentifyTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *UpdateDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateDeidentifyTemplateRequest.Merge(dst, src)
}
func (m *UpdateDeidentifyTemplateRequest) XXX_Size() int {
return xxx_messageInfo_UpdateDeidentifyTemplateRequest.Size(m)
}
func (m *UpdateDeidentifyTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateDeidentifyTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateDeidentifyTemplateRequest proto.InternalMessageInfo
func (m *UpdateDeidentifyTemplateRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *UpdateDeidentifyTemplateRequest) GetDeidentifyTemplate() *DeidentifyTemplate {
if m != nil {
return m.DeidentifyTemplate
}
return nil
}
func (m *UpdateDeidentifyTemplateRequest) GetUpdateMask() *field_mask.FieldMask {
if m != nil {
return m.UpdateMask
}
return nil
}
// Request message for GetDeidentifyTemplate.
type GetDeidentifyTemplateRequest struct {
// Resource name of the organization and deidentify template to be read, for
// example `organizations/433245324/deidentifyTemplates/432452342` or
// projects/project-id/deidentifyTemplates/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetDeidentifyTemplateRequest) Reset() { *m = GetDeidentifyTemplateRequest{} }
func (m *GetDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*GetDeidentifyTemplateRequest) ProtoMessage() {}
func (*GetDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{90}
}
func (m *GetDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDeidentifyTemplateRequest.Unmarshal(m, b)
}
func (m *GetDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetDeidentifyTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *GetDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetDeidentifyTemplateRequest.Merge(dst, src)
}
func (m *GetDeidentifyTemplateRequest) XXX_Size() int {
return xxx_messageInfo_GetDeidentifyTemplateRequest.Size(m)
}
func (m *GetDeidentifyTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetDeidentifyTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetDeidentifyTemplateRequest proto.InternalMessageInfo
func (m *GetDeidentifyTemplateRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for ListDeidentifyTemplates.
type ListDeidentifyTemplatesRequest struct {
// The parent resource name, for example projects/my-project-id or
// organizations/my-org-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional page token to continue retrieval. Comes from previous call
// to `ListDeidentifyTemplates`.
PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional size of the page, can be limited by server. If zero server returns
// a page of max size 100.
PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListDeidentifyTemplatesRequest) Reset() { *m = ListDeidentifyTemplatesRequest{} }
func (m *ListDeidentifyTemplatesRequest) String() string { return proto.CompactTextString(m) }
func (*ListDeidentifyTemplatesRequest) ProtoMessage() {}
func (*ListDeidentifyTemplatesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{91}
}
func (m *ListDeidentifyTemplatesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListDeidentifyTemplatesRequest.Unmarshal(m, b)
}
func (m *ListDeidentifyTemplatesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListDeidentifyTemplatesRequest.Marshal(b, m, deterministic)
}
func (dst *ListDeidentifyTemplatesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListDeidentifyTemplatesRequest.Merge(dst, src)
}
func (m *ListDeidentifyTemplatesRequest) XXX_Size() int {
return xxx_messageInfo_ListDeidentifyTemplatesRequest.Size(m)
}
func (m *ListDeidentifyTemplatesRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListDeidentifyTemplatesRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListDeidentifyTemplatesRequest proto.InternalMessageInfo
func (m *ListDeidentifyTemplatesRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ListDeidentifyTemplatesRequest) GetPageToken() string {
if m != nil {
return m.PageToken
}
return ""
}
func (m *ListDeidentifyTemplatesRequest) GetPageSize() int32 {
if m != nil {
return m.PageSize
}
return 0
}
// Response message for ListDeidentifyTemplates.
type ListDeidentifyTemplatesResponse struct {
// List of deidentify templates, up to page_size in
// ListDeidentifyTemplatesRequest.
DeidentifyTemplates []*DeidentifyTemplate `protobuf:"bytes,1,rep,name=deidentify_templates,json=deidentifyTemplates,proto3" json:"deidentify_templates,omitempty"`
// If the next page is available then the next page token to be used
// in following ListDeidentifyTemplates request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListDeidentifyTemplatesResponse) Reset() { *m = ListDeidentifyTemplatesResponse{} }
func (m *ListDeidentifyTemplatesResponse) String() string { return proto.CompactTextString(m) }
func (*ListDeidentifyTemplatesResponse) ProtoMessage() {}
func (*ListDeidentifyTemplatesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{92}
}
func (m *ListDeidentifyTemplatesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListDeidentifyTemplatesResponse.Unmarshal(m, b)
}
func (m *ListDeidentifyTemplatesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListDeidentifyTemplatesResponse.Marshal(b, m, deterministic)
}
func (dst *ListDeidentifyTemplatesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListDeidentifyTemplatesResponse.Merge(dst, src)
}
func (m *ListDeidentifyTemplatesResponse) XXX_Size() int {
return xxx_messageInfo_ListDeidentifyTemplatesResponse.Size(m)
}
func (m *ListDeidentifyTemplatesResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListDeidentifyTemplatesResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListDeidentifyTemplatesResponse proto.InternalMessageInfo
func (m *ListDeidentifyTemplatesResponse) GetDeidentifyTemplates() []*DeidentifyTemplate {
if m != nil {
return m.DeidentifyTemplates
}
return nil
}
func (m *ListDeidentifyTemplatesResponse) GetNextPageToken() string {
if m != nil {
return m.NextPageToken
}
return ""
}
// Request message for DeleteDeidentifyTemplate.
type DeleteDeidentifyTemplateRequest struct {
// Resource name of the organization and deidentify template to be deleted,
// for example `organizations/433245324/deidentifyTemplates/432452342` or
// projects/project-id/deidentifyTemplates/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteDeidentifyTemplateRequest) Reset() { *m = DeleteDeidentifyTemplateRequest{} }
func (m *DeleteDeidentifyTemplateRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteDeidentifyTemplateRequest) ProtoMessage() {}
func (*DeleteDeidentifyTemplateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{93}
}
func (m *DeleteDeidentifyTemplateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteDeidentifyTemplateRequest.Unmarshal(m, b)
}
func (m *DeleteDeidentifyTemplateRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteDeidentifyTemplateRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteDeidentifyTemplateRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteDeidentifyTemplateRequest.Merge(dst, src)
}
func (m *DeleteDeidentifyTemplateRequest) XXX_Size() int {
return xxx_messageInfo_DeleteDeidentifyTemplateRequest.Size(m)
}
func (m *DeleteDeidentifyTemplateRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteDeidentifyTemplateRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteDeidentifyTemplateRequest proto.InternalMessageInfo
func (m *DeleteDeidentifyTemplateRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Configuration for a custom dictionary created from a data source of any size
// up to the maximum size defined in the
// [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
// dictionary creation are stored in the specified Google Cloud Storage
// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
// that satisfy the size requirements.
type LargeCustomDictionaryConfig struct {
// Location to store dictionary artifacts in Google Cloud Storage. These files
// will only be accessible by project owners and the DLP API. If any of these
// artifacts are modified, the dictionary is considered invalid and can no
// longer be used.
OutputPath *CloudStoragePath `protobuf:"bytes,1,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
// Types that are valid to be assigned to Source:
// *LargeCustomDictionaryConfig_CloudStorageFileSet
// *LargeCustomDictionaryConfig_BigQueryField
Source isLargeCustomDictionaryConfig_Source `protobuf_oneof:"source"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LargeCustomDictionaryConfig) Reset() { *m = LargeCustomDictionaryConfig{} }
func (m *LargeCustomDictionaryConfig) String() string { return proto.CompactTextString(m) }
func (*LargeCustomDictionaryConfig) ProtoMessage() {}
func (*LargeCustomDictionaryConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{94}
}
func (m *LargeCustomDictionaryConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LargeCustomDictionaryConfig.Unmarshal(m, b)
}
func (m *LargeCustomDictionaryConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LargeCustomDictionaryConfig.Marshal(b, m, deterministic)
}
func (dst *LargeCustomDictionaryConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_LargeCustomDictionaryConfig.Merge(dst, src)
}
func (m *LargeCustomDictionaryConfig) XXX_Size() int {
return xxx_messageInfo_LargeCustomDictionaryConfig.Size(m)
}
func (m *LargeCustomDictionaryConfig) XXX_DiscardUnknown() {
xxx_messageInfo_LargeCustomDictionaryConfig.DiscardUnknown(m)
}
var xxx_messageInfo_LargeCustomDictionaryConfig proto.InternalMessageInfo
func (m *LargeCustomDictionaryConfig) GetOutputPath() *CloudStoragePath {
if m != nil {
return m.OutputPath
}
return nil
}
type isLargeCustomDictionaryConfig_Source interface {
isLargeCustomDictionaryConfig_Source()
}
type LargeCustomDictionaryConfig_CloudStorageFileSet struct {
CloudStorageFileSet *CloudStorageFileSet `protobuf:"bytes,2,opt,name=cloud_storage_file_set,json=cloudStorageFileSet,proto3,oneof"`
}
type LargeCustomDictionaryConfig_BigQueryField struct {
BigQueryField *BigQueryField `protobuf:"bytes,3,opt,name=big_query_field,json=bigQueryField,proto3,oneof"`
}
func (*LargeCustomDictionaryConfig_CloudStorageFileSet) isLargeCustomDictionaryConfig_Source() {}
func (*LargeCustomDictionaryConfig_BigQueryField) isLargeCustomDictionaryConfig_Source() {}
func (m *LargeCustomDictionaryConfig) GetSource() isLargeCustomDictionaryConfig_Source {
if m != nil {
return m.Source
}
return nil
}
func (m *LargeCustomDictionaryConfig) GetCloudStorageFileSet() *CloudStorageFileSet {
if x, ok := m.GetSource().(*LargeCustomDictionaryConfig_CloudStorageFileSet); ok {
return x.CloudStorageFileSet
}
return nil
}
func (m *LargeCustomDictionaryConfig) GetBigQueryField() *BigQueryField {
if x, ok := m.GetSource().(*LargeCustomDictionaryConfig_BigQueryField); ok {
return x.BigQueryField
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*LargeCustomDictionaryConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _LargeCustomDictionaryConfig_OneofMarshaler, _LargeCustomDictionaryConfig_OneofUnmarshaler, _LargeCustomDictionaryConfig_OneofSizer, []interface{}{
(*LargeCustomDictionaryConfig_CloudStorageFileSet)(nil),
(*LargeCustomDictionaryConfig_BigQueryField)(nil),
}
}
func _LargeCustomDictionaryConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*LargeCustomDictionaryConfig)
// source
switch x := m.Source.(type) {
case *LargeCustomDictionaryConfig_CloudStorageFileSet:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CloudStorageFileSet); err != nil {
return err
}
case *LargeCustomDictionaryConfig_BigQueryField:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.BigQueryField); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("LargeCustomDictionaryConfig.Source has unexpected type %T", x)
}
return nil
}
func _LargeCustomDictionaryConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*LargeCustomDictionaryConfig)
switch tag {
case 2: // source.cloud_storage_file_set
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(CloudStorageFileSet)
err := b.DecodeMessage(msg)
m.Source = &LargeCustomDictionaryConfig_CloudStorageFileSet{msg}
return true, err
case 3: // source.big_query_field
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(BigQueryField)
err := b.DecodeMessage(msg)
m.Source = &LargeCustomDictionaryConfig_BigQueryField{msg}
return true, err
default:
return false, nil
}
}
func _LargeCustomDictionaryConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*LargeCustomDictionaryConfig)
// source
switch x := m.Source.(type) {
case *LargeCustomDictionaryConfig_CloudStorageFileSet:
s := proto.Size(x.CloudStorageFileSet)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *LargeCustomDictionaryConfig_BigQueryField:
s := proto.Size(x.BigQueryField)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Configuration for a StoredInfoType.
type StoredInfoTypeConfig struct {
// Display name of the StoredInfoType (max 256 characters).
DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// Description of the StoredInfoType (max 256 characters).
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
// Types that are valid to be assigned to Type:
// *StoredInfoTypeConfig_LargeCustomDictionary
Type isStoredInfoTypeConfig_Type `protobuf_oneof:"type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StoredInfoTypeConfig) Reset() { *m = StoredInfoTypeConfig{} }
func (m *StoredInfoTypeConfig) String() string { return proto.CompactTextString(m) }
func (*StoredInfoTypeConfig) ProtoMessage() {}
func (*StoredInfoTypeConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{95}
}
func (m *StoredInfoTypeConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StoredInfoTypeConfig.Unmarshal(m, b)
}
func (m *StoredInfoTypeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StoredInfoTypeConfig.Marshal(b, m, deterministic)
}
func (dst *StoredInfoTypeConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_StoredInfoTypeConfig.Merge(dst, src)
}
func (m *StoredInfoTypeConfig) XXX_Size() int {
return xxx_messageInfo_StoredInfoTypeConfig.Size(m)
}
func (m *StoredInfoTypeConfig) XXX_DiscardUnknown() {
xxx_messageInfo_StoredInfoTypeConfig.DiscardUnknown(m)
}
var xxx_messageInfo_StoredInfoTypeConfig proto.InternalMessageInfo
func (m *StoredInfoTypeConfig) GetDisplayName() string {
if m != nil {
return m.DisplayName
}
return ""
}
func (m *StoredInfoTypeConfig) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
type isStoredInfoTypeConfig_Type interface {
isStoredInfoTypeConfig_Type()
}
type StoredInfoTypeConfig_LargeCustomDictionary struct {
LargeCustomDictionary *LargeCustomDictionaryConfig `protobuf:"bytes,3,opt,name=large_custom_dictionary,json=largeCustomDictionary,proto3,oneof"`
}
func (*StoredInfoTypeConfig_LargeCustomDictionary) isStoredInfoTypeConfig_Type() {}
func (m *StoredInfoTypeConfig) GetType() isStoredInfoTypeConfig_Type {
if m != nil {
return m.Type
}
return nil
}
func (m *StoredInfoTypeConfig) GetLargeCustomDictionary() *LargeCustomDictionaryConfig {
if x, ok := m.GetType().(*StoredInfoTypeConfig_LargeCustomDictionary); ok {
return x.LargeCustomDictionary
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*StoredInfoTypeConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _StoredInfoTypeConfig_OneofMarshaler, _StoredInfoTypeConfig_OneofUnmarshaler, _StoredInfoTypeConfig_OneofSizer, []interface{}{
(*StoredInfoTypeConfig_LargeCustomDictionary)(nil),
}
}
func _StoredInfoTypeConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*StoredInfoTypeConfig)
// type
switch x := m.Type.(type) {
case *StoredInfoTypeConfig_LargeCustomDictionary:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.LargeCustomDictionary); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("StoredInfoTypeConfig.Type has unexpected type %T", x)
}
return nil
}
func _StoredInfoTypeConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*StoredInfoTypeConfig)
switch tag {
case 3: // type.large_custom_dictionary
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(LargeCustomDictionaryConfig)
err := b.DecodeMessage(msg)
m.Type = &StoredInfoTypeConfig_LargeCustomDictionary{msg}
return true, err
default:
return false, nil
}
}
func _StoredInfoTypeConfig_OneofSizer(msg proto.Message) (n int) {
m := msg.(*StoredInfoTypeConfig)
// type
switch x := m.Type.(type) {
case *StoredInfoTypeConfig_LargeCustomDictionary:
s := proto.Size(x.LargeCustomDictionary)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
// Version of a StoredInfoType, including the configuration used to build it,
// create timestamp, and current state.
type StoredInfoTypeVersion struct {
// StoredInfoType configuration.
Config *StoredInfoTypeConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
// Create timestamp of the version. Read-only, determined by the system
// when the version is created.
CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
// Stored info type version state. Read-only, updated by the system
// during dictionary creation.
State StoredInfoTypeState `protobuf:"varint,3,opt,name=state,proto3,enum=google.privacy.dlp.v2.StoredInfoTypeState" json:"state,omitempty"`
// Errors that occurred when creating this storedInfoType version, or
// anomalies detected in the storedInfoType data that render it unusable. Only
// the five most recent errors will be displayed, with the most recent error
// appearing first.
// <p>For example, some of the data for stored custom dictionaries is put in
// the user's Google Cloud Storage bucket, and if this data is modified or
// deleted by the user or another system, the dictionary becomes invalid.
// <p>If any errors occur, fix the problem indicated by the error message and
// use the UpdateStoredInfoType API method to create another version of the
// storedInfoType to continue using it, reusing the same `config` if it was
// not the source of the error.
Errors []*Error `protobuf:"bytes,4,rep,name=errors,proto3" json:"errors,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StoredInfoTypeVersion) Reset() { *m = StoredInfoTypeVersion{} }
func (m *StoredInfoTypeVersion) String() string { return proto.CompactTextString(m) }
func (*StoredInfoTypeVersion) ProtoMessage() {}
func (*StoredInfoTypeVersion) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{96}
}
func (m *StoredInfoTypeVersion) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StoredInfoTypeVersion.Unmarshal(m, b)
}
func (m *StoredInfoTypeVersion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StoredInfoTypeVersion.Marshal(b, m, deterministic)
}
func (dst *StoredInfoTypeVersion) XXX_Merge(src proto.Message) {
xxx_messageInfo_StoredInfoTypeVersion.Merge(dst, src)
}
func (m *StoredInfoTypeVersion) XXX_Size() int {
return xxx_messageInfo_StoredInfoTypeVersion.Size(m)
}
func (m *StoredInfoTypeVersion) XXX_DiscardUnknown() {
xxx_messageInfo_StoredInfoTypeVersion.DiscardUnknown(m)
}
var xxx_messageInfo_StoredInfoTypeVersion proto.InternalMessageInfo
func (m *StoredInfoTypeVersion) GetConfig() *StoredInfoTypeConfig {
if m != nil {
return m.Config
}
return nil
}
func (m *StoredInfoTypeVersion) GetCreateTime() *timestamp.Timestamp {
if m != nil {
return m.CreateTime
}
return nil
}
func (m *StoredInfoTypeVersion) GetState() StoredInfoTypeState {
if m != nil {
return m.State
}
return StoredInfoTypeState_STORED_INFO_TYPE_STATE_UNSPECIFIED
}
func (m *StoredInfoTypeVersion) GetErrors() []*Error {
if m != nil {
return m.Errors
}
return nil
}
// StoredInfoType resource message that contains information about the current
// version and any pending updates.
type StoredInfoType struct {
// Resource name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Current version of the stored info type.
CurrentVersion *StoredInfoTypeVersion `protobuf:"bytes,2,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"`
// Pending versions of the stored info type. Empty if no versions are
// pending.
PendingVersions []*StoredInfoTypeVersion `protobuf:"bytes,3,rep,name=pending_versions,json=pendingVersions,proto3" json:"pending_versions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *StoredInfoType) Reset() { *m = StoredInfoType{} }
func (m *StoredInfoType) String() string { return proto.CompactTextString(m) }
func (*StoredInfoType) ProtoMessage() {}
func (*StoredInfoType) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{97}
}
func (m *StoredInfoType) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StoredInfoType.Unmarshal(m, b)
}
func (m *StoredInfoType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StoredInfoType.Marshal(b, m, deterministic)
}
func (dst *StoredInfoType) XXX_Merge(src proto.Message) {
xxx_messageInfo_StoredInfoType.Merge(dst, src)
}
func (m *StoredInfoType) XXX_Size() int {
return xxx_messageInfo_StoredInfoType.Size(m)
}
func (m *StoredInfoType) XXX_DiscardUnknown() {
xxx_messageInfo_StoredInfoType.DiscardUnknown(m)
}
var xxx_messageInfo_StoredInfoType proto.InternalMessageInfo
func (m *StoredInfoType) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *StoredInfoType) GetCurrentVersion() *StoredInfoTypeVersion {
if m != nil {
return m.CurrentVersion
}
return nil
}
func (m *StoredInfoType) GetPendingVersions() []*StoredInfoTypeVersion {
if m != nil {
return m.PendingVersions
}
return nil
}
// Request message for CreateStoredInfoType.
type CreateStoredInfoTypeRequest struct {
// The parent resource name, for example projects/my-project-id or
// organizations/my-org-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Configuration of the storedInfoType to create.
Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
// The storedInfoType ID can contain uppercase and lowercase letters,
// numbers, and hyphens; that is, it must match the regular
// expression: `[a-zA-Z\\d-]+`. The maximum length is 100
// characters. Can be empty to allow the system to generate one.
StoredInfoTypeId string `protobuf:"bytes,3,opt,name=stored_info_type_id,json=storedInfoTypeId,proto3" json:"stored_info_type_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CreateStoredInfoTypeRequest) Reset() { *m = CreateStoredInfoTypeRequest{} }
func (m *CreateStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
func (*CreateStoredInfoTypeRequest) ProtoMessage() {}
func (*CreateStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{98}
}
func (m *CreateStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateStoredInfoTypeRequest.Unmarshal(m, b)
}
func (m *CreateStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateStoredInfoTypeRequest.Marshal(b, m, deterministic)
}
func (dst *CreateStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateStoredInfoTypeRequest.Merge(dst, src)
}
func (m *CreateStoredInfoTypeRequest) XXX_Size() int {
return xxx_messageInfo_CreateStoredInfoTypeRequest.Size(m)
}
func (m *CreateStoredInfoTypeRequest) XXX_DiscardUnknown() {
xxx_messageInfo_CreateStoredInfoTypeRequest.DiscardUnknown(m)
}
var xxx_messageInfo_CreateStoredInfoTypeRequest proto.InternalMessageInfo
func (m *CreateStoredInfoTypeRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *CreateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig {
if m != nil {
return m.Config
}
return nil
}
func (m *CreateStoredInfoTypeRequest) GetStoredInfoTypeId() string {
if m != nil {
return m.StoredInfoTypeId
}
return ""
}
// Request message for UpdateStoredInfoType.
type UpdateStoredInfoTypeRequest struct {
// Resource name of organization and storedInfoType to be updated, for
// example `organizations/433245324/storedInfoTypes/432452342` or
// projects/project-id/storedInfoTypes/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Updated configuration for the storedInfoType. If not provided, a new
// version of the storedInfoType will be created with the existing
// configuration.
Config *StoredInfoTypeConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
// Mask to control which fields get updated.
UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UpdateStoredInfoTypeRequest) Reset() { *m = UpdateStoredInfoTypeRequest{} }
func (m *UpdateStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateStoredInfoTypeRequest) ProtoMessage() {}
func (*UpdateStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{99}
}
func (m *UpdateStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateStoredInfoTypeRequest.Unmarshal(m, b)
}
func (m *UpdateStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UpdateStoredInfoTypeRequest.Marshal(b, m, deterministic)
}
func (dst *UpdateStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UpdateStoredInfoTypeRequest.Merge(dst, src)
}
func (m *UpdateStoredInfoTypeRequest) XXX_Size() int {
return xxx_messageInfo_UpdateStoredInfoTypeRequest.Size(m)
}
func (m *UpdateStoredInfoTypeRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UpdateStoredInfoTypeRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UpdateStoredInfoTypeRequest proto.InternalMessageInfo
func (m *UpdateStoredInfoTypeRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *UpdateStoredInfoTypeRequest) GetConfig() *StoredInfoTypeConfig {
if m != nil {
return m.Config
}
return nil
}
func (m *UpdateStoredInfoTypeRequest) GetUpdateMask() *field_mask.FieldMask {
if m != nil {
return m.UpdateMask
}
return nil
}
// Request message for GetStoredInfoType.
type GetStoredInfoTypeRequest struct {
// Resource name of the organization and storedInfoType to be read, for
// example `organizations/433245324/storedInfoTypes/432452342` or
// projects/project-id/storedInfoTypes/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetStoredInfoTypeRequest) Reset() { *m = GetStoredInfoTypeRequest{} }
func (m *GetStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
func (*GetStoredInfoTypeRequest) ProtoMessage() {}
func (*GetStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{100}
}
func (m *GetStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetStoredInfoTypeRequest.Unmarshal(m, b)
}
func (m *GetStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetStoredInfoTypeRequest.Marshal(b, m, deterministic)
}
func (dst *GetStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetStoredInfoTypeRequest.Merge(dst, src)
}
func (m *GetStoredInfoTypeRequest) XXX_Size() int {
return xxx_messageInfo_GetStoredInfoTypeRequest.Size(m)
}
func (m *GetStoredInfoTypeRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetStoredInfoTypeRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetStoredInfoTypeRequest proto.InternalMessageInfo
func (m *GetStoredInfoTypeRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
// Request message for ListStoredInfoTypes.
type ListStoredInfoTypesRequest struct {
// The parent resource name, for example projects/my-project-id or
// organizations/my-org-id.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Optional page token to continue retrieval. Comes from previous call
// to `ListStoredInfoTypes`.
PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Optional size of the page, can be limited by server. If zero server returns
// a page of max size 100.
PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListStoredInfoTypesRequest) Reset() { *m = ListStoredInfoTypesRequest{} }
func (m *ListStoredInfoTypesRequest) String() string { return proto.CompactTextString(m) }
func (*ListStoredInfoTypesRequest) ProtoMessage() {}
func (*ListStoredInfoTypesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{101}
}
func (m *ListStoredInfoTypesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListStoredInfoTypesRequest.Unmarshal(m, b)
}
func (m *ListStoredInfoTypesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListStoredInfoTypesRequest.Marshal(b, m, deterministic)
}
func (dst *ListStoredInfoTypesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListStoredInfoTypesRequest.Merge(dst, src)
}
func (m *ListStoredInfoTypesRequest) XXX_Size() int {
return xxx_messageInfo_ListStoredInfoTypesRequest.Size(m)
}
func (m *ListStoredInfoTypesRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListStoredInfoTypesRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListStoredInfoTypesRequest proto.InternalMessageInfo
func (m *ListStoredInfoTypesRequest) GetParent() string {
if m != nil {
return m.Parent
}
return ""
}
func (m *ListStoredInfoTypesRequest) GetPageToken() string {
if m != nil {
return m.PageToken
}
return ""
}
func (m *ListStoredInfoTypesRequest) GetPageSize() int32 {
if m != nil {
return m.PageSize
}
return 0
}
// Response message for ListStoredInfoTypes.
type ListStoredInfoTypesResponse struct {
// List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.
StoredInfoTypes []*StoredInfoType `protobuf:"bytes,1,rep,name=stored_info_types,json=storedInfoTypes,proto3" json:"stored_info_types,omitempty"`
// If the next page is available then the next page token to be used
// in following ListStoredInfoTypes request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListStoredInfoTypesResponse) Reset() { *m = ListStoredInfoTypesResponse{} }
func (m *ListStoredInfoTypesResponse) String() string { return proto.CompactTextString(m) }
func (*ListStoredInfoTypesResponse) ProtoMessage() {}
func (*ListStoredInfoTypesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{102}
}
func (m *ListStoredInfoTypesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListStoredInfoTypesResponse.Unmarshal(m, b)
}
func (m *ListStoredInfoTypesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListStoredInfoTypesResponse.Marshal(b, m, deterministic)
}
func (dst *ListStoredInfoTypesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListStoredInfoTypesResponse.Merge(dst, src)
}
func (m *ListStoredInfoTypesResponse) XXX_Size() int {
return xxx_messageInfo_ListStoredInfoTypesResponse.Size(m)
}
func (m *ListStoredInfoTypesResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListStoredInfoTypesResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListStoredInfoTypesResponse proto.InternalMessageInfo
func (m *ListStoredInfoTypesResponse) GetStoredInfoTypes() []*StoredInfoType {
if m != nil {
return m.StoredInfoTypes
}
return nil
}
func (m *ListStoredInfoTypesResponse) GetNextPageToken() string {
if m != nil {
return m.NextPageToken
}
return ""
}
// Request message for DeleteStoredInfoType.
type DeleteStoredInfoTypeRequest struct {
// Resource name of the organization and storedInfoType to be deleted, for
// example `organizations/433245324/storedInfoTypes/432452342` or
// projects/project-id/storedInfoTypes/432452342.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DeleteStoredInfoTypeRequest) Reset() { *m = DeleteStoredInfoTypeRequest{} }
func (m *DeleteStoredInfoTypeRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteStoredInfoTypeRequest) ProtoMessage() {}
func (*DeleteStoredInfoTypeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_dlp_d4cf3fee35bf2e62, []int{103}
}
func (m *DeleteStoredInfoTypeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteStoredInfoTypeRequest.Unmarshal(m, b)
}
func (m *DeleteStoredInfoTypeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DeleteStoredInfoTypeRequest.Marshal(b, m, deterministic)
}
func (dst *DeleteStoredInfoTypeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DeleteStoredInfoTypeRequest.Merge(dst, src)
}
func (m *DeleteStoredInfoTypeRequest) XXX_Size() int {
return xxx_messageInfo_DeleteStoredInfoTypeRequest.Size(m)
}
func (m *DeleteStoredInfoTypeRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DeleteStoredInfoTypeRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DeleteStoredInfoTypeRequest proto.InternalMessageInfo
func (m *DeleteStoredInfoTypeRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func init() {
proto.RegisterType((*InspectConfig)(nil), "google.privacy.dlp.v2.InspectConfig")
proto.RegisterType((*InspectConfig_FindingLimits)(nil), "google.privacy.dlp.v2.InspectConfig.FindingLimits")
proto.RegisterType((*InspectConfig_FindingLimits_InfoTypeLimit)(nil), "google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit")
proto.RegisterType((*ByteContentItem)(nil), "google.privacy.dlp.v2.ByteContentItem")
proto.RegisterType((*ContentItem)(nil), "google.privacy.dlp.v2.ContentItem")
proto.RegisterType((*Table)(nil), "google.privacy.dlp.v2.Table")
proto.RegisterType((*Table_Row)(nil), "google.privacy.dlp.v2.Table.Row")
proto.RegisterType((*InspectResult)(nil), "google.privacy.dlp.v2.InspectResult")
proto.RegisterType((*Finding)(nil), "google.privacy.dlp.v2.Finding")
proto.RegisterType((*Location)(nil), "google.privacy.dlp.v2.Location")
proto.RegisterType((*ContentLocation)(nil), "google.privacy.dlp.v2.ContentLocation")
proto.RegisterType((*DocumentLocation)(nil), "google.privacy.dlp.v2.DocumentLocation")
proto.RegisterType((*RecordLocation)(nil), "google.privacy.dlp.v2.RecordLocation")
proto.RegisterType((*TableLocation)(nil), "google.privacy.dlp.v2.TableLocation")
proto.RegisterType((*Range)(nil), "google.privacy.dlp.v2.Range")
proto.RegisterType((*ImageLocation)(nil), "google.privacy.dlp.v2.ImageLocation")
proto.RegisterType((*BoundingBox)(nil), "google.privacy.dlp.v2.BoundingBox")
proto.RegisterType((*RedactImageRequest)(nil), "google.privacy.dlp.v2.RedactImageRequest")
proto.RegisterType((*RedactImageRequest_ImageRedactionConfig)(nil), "google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig")
proto.RegisterType((*Color)(nil), "google.privacy.dlp.v2.Color")
proto.RegisterType((*RedactImageResponse)(nil), "google.privacy.dlp.v2.RedactImageResponse")
proto.RegisterType((*DeidentifyContentRequest)(nil), "google.privacy.dlp.v2.DeidentifyContentRequest")
proto.RegisterType((*DeidentifyContentResponse)(nil), "google.privacy.dlp.v2.DeidentifyContentResponse")
proto.RegisterType((*ReidentifyContentRequest)(nil), "google.privacy.dlp.v2.ReidentifyContentRequest")
proto.RegisterType((*ReidentifyContentResponse)(nil), "google.privacy.dlp.v2.ReidentifyContentResponse")
proto.RegisterType((*InspectContentRequest)(nil), "google.privacy.dlp.v2.InspectContentRequest")
proto.RegisterType((*InspectContentResponse)(nil), "google.privacy.dlp.v2.InspectContentResponse")
proto.RegisterType((*OutputStorageConfig)(nil), "google.privacy.dlp.v2.OutputStorageConfig")
proto.RegisterType((*InfoTypeStats)(nil), "google.privacy.dlp.v2.InfoTypeStats")
proto.RegisterType((*InspectDataSourceDetails)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails")
proto.RegisterType((*InspectDataSourceDetails_RequestedOptions)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions")
proto.RegisterType((*InspectDataSourceDetails_Result)(nil), "google.privacy.dlp.v2.InspectDataSourceDetails.Result")
proto.RegisterType((*InfoTypeDescription)(nil), "google.privacy.dlp.v2.InfoTypeDescription")
proto.RegisterType((*ListInfoTypesRequest)(nil), "google.privacy.dlp.v2.ListInfoTypesRequest")
proto.RegisterType((*ListInfoTypesResponse)(nil), "google.privacy.dlp.v2.ListInfoTypesResponse")
proto.RegisterType((*RiskAnalysisJobConfig)(nil), "google.privacy.dlp.v2.RiskAnalysisJobConfig")
proto.RegisterType((*QuasiId)(nil), "google.privacy.dlp.v2.QuasiId")
proto.RegisterType((*StatisticalTable)(nil), "google.privacy.dlp.v2.StatisticalTable")
proto.RegisterType((*StatisticalTable_QuasiIdentifierField)(nil), "google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField")
proto.RegisterType((*PrivacyMetric)(nil), "google.privacy.dlp.v2.PrivacyMetric")
proto.RegisterType((*PrivacyMetric_NumericalStatsConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig")
proto.RegisterType((*PrivacyMetric_CategoricalStatsConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig")
proto.RegisterType((*PrivacyMetric_KAnonymityConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig")
proto.RegisterType((*PrivacyMetric_LDiversityConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig")
proto.RegisterType((*PrivacyMetric_KMapEstimationConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig")
proto.RegisterType((*PrivacyMetric_KMapEstimationConfig_TaggedField)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField")
proto.RegisterType((*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable")
proto.RegisterType((*PrivacyMetric_KMapEstimationConfig_AuxiliaryTable_QuasiIdField)(nil), "google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField")
proto.RegisterType((*PrivacyMetric_DeltaPresenceEstimationConfig)(nil), "google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig")
proto.RegisterType((*AnalyzeDataSourceRiskDetails)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_NumericalStatsResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_CategoricalStatsResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_CategoricalStatsResult_CategoricalStatsHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_KAnonymityResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityEquivalenceClass)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_KAnonymityResult_KAnonymityHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_LDiversityResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityEquivalenceClass)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_LDiversityResult_LDiversityHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_KMapEstimationResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationQuasiIdValues)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_KMapEstimationResult_KMapEstimationHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationQuasiIdValues)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues")
proto.RegisterType((*AnalyzeDataSourceRiskDetails_DeltaPresenceEstimationResult_DeltaPresenceEstimationHistogramBucket)(nil), "google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket")
proto.RegisterType((*ValueFrequency)(nil), "google.privacy.dlp.v2.ValueFrequency")
proto.RegisterType((*Value)(nil), "google.privacy.dlp.v2.Value")
proto.RegisterType((*QuoteInfo)(nil), "google.privacy.dlp.v2.QuoteInfo")
proto.RegisterType((*DateTime)(nil), "google.privacy.dlp.v2.DateTime")
proto.RegisterType((*DateTime_TimeZone)(nil), "google.privacy.dlp.v2.DateTime.TimeZone")
proto.RegisterType((*DeidentifyConfig)(nil), "google.privacy.dlp.v2.DeidentifyConfig")
proto.RegisterType((*PrimitiveTransformation)(nil), "google.privacy.dlp.v2.PrimitiveTransformation")
proto.RegisterType((*TimePartConfig)(nil), "google.privacy.dlp.v2.TimePartConfig")
proto.RegisterType((*CryptoHashConfig)(nil), "google.privacy.dlp.v2.CryptoHashConfig")
proto.RegisterType((*ReplaceValueConfig)(nil), "google.privacy.dlp.v2.ReplaceValueConfig")
proto.RegisterType((*ReplaceWithInfoTypeConfig)(nil), "google.privacy.dlp.v2.ReplaceWithInfoTypeConfig")
proto.RegisterType((*RedactConfig)(nil), "google.privacy.dlp.v2.RedactConfig")
proto.RegisterType((*CharsToIgnore)(nil), "google.privacy.dlp.v2.CharsToIgnore")
proto.RegisterType((*CharacterMaskConfig)(nil), "google.privacy.dlp.v2.CharacterMaskConfig")
proto.RegisterType((*FixedSizeBucketingConfig)(nil), "google.privacy.dlp.v2.FixedSizeBucketingConfig")
proto.RegisterType((*BucketingConfig)(nil), "google.privacy.dlp.v2.BucketingConfig")
proto.RegisterType((*BucketingConfig_Bucket)(nil), "google.privacy.dlp.v2.BucketingConfig.Bucket")
proto.RegisterType((*CryptoReplaceFfxFpeConfig)(nil), "google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig")
proto.RegisterType((*CryptoKey)(nil), "google.privacy.dlp.v2.CryptoKey")
proto.RegisterType((*TransientCryptoKey)(nil), "google.privacy.dlp.v2.TransientCryptoKey")
proto.RegisterType((*UnwrappedCryptoKey)(nil), "google.privacy.dlp.v2.UnwrappedCryptoKey")
proto.RegisterType((*KmsWrappedCryptoKey)(nil), "google.privacy.dlp.v2.KmsWrappedCryptoKey")
proto.RegisterType((*DateShiftConfig)(nil), "google.privacy.dlp.v2.DateShiftConfig")
proto.RegisterType((*InfoTypeTransformations)(nil), "google.privacy.dlp.v2.InfoTypeTransformations")
proto.RegisterType((*InfoTypeTransformations_InfoTypeTransformation)(nil), "google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation")
proto.RegisterType((*FieldTransformation)(nil), "google.privacy.dlp.v2.FieldTransformation")
proto.RegisterType((*RecordTransformations)(nil), "google.privacy.dlp.v2.RecordTransformations")
proto.RegisterType((*RecordSuppression)(nil), "google.privacy.dlp.v2.RecordSuppression")
proto.RegisterType((*RecordCondition)(nil), "google.privacy.dlp.v2.RecordCondition")
proto.RegisterType((*RecordCondition_Condition)(nil), "google.privacy.dlp.v2.RecordCondition.Condition")
proto.RegisterType((*RecordCondition_Conditions)(nil), "google.privacy.dlp.v2.RecordCondition.Conditions")
proto.RegisterType((*RecordCondition_Expressions)(nil), "google.privacy.dlp.v2.RecordCondition.Expressions")
proto.RegisterType((*TransformationOverview)(nil), "google.privacy.dlp.v2.TransformationOverview")
proto.RegisterType((*TransformationSummary)(nil), "google.privacy.dlp.v2.TransformationSummary")
proto.RegisterType((*TransformationSummary_SummaryResult)(nil), "google.privacy.dlp.v2.TransformationSummary.SummaryResult")
proto.RegisterType((*Schedule)(nil), "google.privacy.dlp.v2.Schedule")
proto.RegisterType((*InspectTemplate)(nil), "google.privacy.dlp.v2.InspectTemplate")
proto.RegisterType((*DeidentifyTemplate)(nil), "google.privacy.dlp.v2.DeidentifyTemplate")
proto.RegisterType((*Error)(nil), "google.privacy.dlp.v2.Error")
proto.RegisterType((*JobTrigger)(nil), "google.privacy.dlp.v2.JobTrigger")
proto.RegisterType((*JobTrigger_Trigger)(nil), "google.privacy.dlp.v2.JobTrigger.Trigger")
proto.RegisterType((*Action)(nil), "google.privacy.dlp.v2.Action")
proto.RegisterType((*Action_SaveFindings)(nil), "google.privacy.dlp.v2.Action.SaveFindings")
proto.RegisterType((*Action_PublishToPubSub)(nil), "google.privacy.dlp.v2.Action.PublishToPubSub")
proto.RegisterType((*Action_PublishSummaryToCscc)(nil), "google.privacy.dlp.v2.Action.PublishSummaryToCscc")
proto.RegisterType((*CreateInspectTemplateRequest)(nil), "google.privacy.dlp.v2.CreateInspectTemplateRequest")
proto.RegisterType((*UpdateInspectTemplateRequest)(nil), "google.privacy.dlp.v2.UpdateInspectTemplateRequest")
proto.RegisterType((*GetInspectTemplateRequest)(nil), "google.privacy.dlp.v2.GetInspectTemplateRequest")
proto.RegisterType((*ListInspectTemplatesRequest)(nil), "google.privacy.dlp.v2.ListInspectTemplatesRequest")
proto.RegisterType((*ListInspectTemplatesResponse)(nil), "google.privacy.dlp.v2.ListInspectTemplatesResponse")
proto.RegisterType((*DeleteInspectTemplateRequest)(nil), "google.privacy.dlp.v2.DeleteInspectTemplateRequest")
proto.RegisterType((*CreateJobTriggerRequest)(nil), "google.privacy.dlp.v2.CreateJobTriggerRequest")
proto.RegisterType((*UpdateJobTriggerRequest)(nil), "google.privacy.dlp.v2.UpdateJobTriggerRequest")
proto.RegisterType((*GetJobTriggerRequest)(nil), "google.privacy.dlp.v2.GetJobTriggerRequest")
proto.RegisterType((*CreateDlpJobRequest)(nil), "google.privacy.dlp.v2.CreateDlpJobRequest")
proto.RegisterType((*ListJobTriggersRequest)(nil), "google.privacy.dlp.v2.ListJobTriggersRequest")
proto.RegisterType((*ListJobTriggersResponse)(nil), "google.privacy.dlp.v2.ListJobTriggersResponse")
proto.RegisterType((*DeleteJobTriggerRequest)(nil), "google.privacy.dlp.v2.DeleteJobTriggerRequest")
proto.RegisterType((*InspectJobConfig)(nil), "google.privacy.dlp.v2.InspectJobConfig")
proto.RegisterType((*DlpJob)(nil), "google.privacy.dlp.v2.DlpJob")
proto.RegisterType((*GetDlpJobRequest)(nil), "google.privacy.dlp.v2.GetDlpJobRequest")
proto.RegisterType((*ListDlpJobsRequest)(nil), "google.privacy.dlp.v2.ListDlpJobsRequest")
proto.RegisterType((*ListDlpJobsResponse)(nil), "google.privacy.dlp.v2.ListDlpJobsResponse")
proto.RegisterType((*CancelDlpJobRequest)(nil), "google.privacy.dlp.v2.CancelDlpJobRequest")
proto.RegisterType((*DeleteDlpJobRequest)(nil), "google.privacy.dlp.v2.DeleteDlpJobRequest")
proto.RegisterType((*CreateDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.CreateDeidentifyTemplateRequest")
proto.RegisterType((*UpdateDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest")
proto.RegisterType((*GetDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.GetDeidentifyTemplateRequest")
proto.RegisterType((*ListDeidentifyTemplatesRequest)(nil), "google.privacy.dlp.v2.ListDeidentifyTemplatesRequest")
proto.RegisterType((*ListDeidentifyTemplatesResponse)(nil), "google.privacy.dlp.v2.ListDeidentifyTemplatesResponse")
proto.RegisterType((*DeleteDeidentifyTemplateRequest)(nil), "google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest")
proto.RegisterType((*LargeCustomDictionaryConfig)(nil), "google.privacy.dlp.v2.LargeCustomDictionaryConfig")
proto.RegisterType((*StoredInfoTypeConfig)(nil), "google.privacy.dlp.v2.StoredInfoTypeConfig")
proto.RegisterType((*StoredInfoTypeVersion)(nil), "google.privacy.dlp.v2.StoredInfoTypeVersion")
proto.RegisterType((*StoredInfoType)(nil), "google.privacy.dlp.v2.StoredInfoType")
proto.RegisterType((*CreateStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.CreateStoredInfoTypeRequest")
proto.RegisterType((*UpdateStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.UpdateStoredInfoTypeRequest")
proto.RegisterType((*GetStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.GetStoredInfoTypeRequest")
proto.RegisterType((*ListStoredInfoTypesRequest)(nil), "google.privacy.dlp.v2.ListStoredInfoTypesRequest")
proto.RegisterType((*ListStoredInfoTypesResponse)(nil), "google.privacy.dlp.v2.ListStoredInfoTypesResponse")
proto.RegisterType((*DeleteStoredInfoTypeRequest)(nil), "google.privacy.dlp.v2.DeleteStoredInfoTypeRequest")
proto.RegisterEnum("google.privacy.dlp.v2.ContentOption", ContentOption_name, ContentOption_value)
proto.RegisterEnum("google.privacy.dlp.v2.InfoTypeSupportedBy", InfoTypeSupportedBy_name, InfoTypeSupportedBy_value)
proto.RegisterEnum("google.privacy.dlp.v2.RelationalOperator", RelationalOperator_name, RelationalOperator_value)
proto.RegisterEnum("google.privacy.dlp.v2.DlpJobType", DlpJobType_name, DlpJobType_value)
proto.RegisterEnum("google.privacy.dlp.v2.StoredInfoTypeState", StoredInfoTypeState_name, StoredInfoTypeState_value)
proto.RegisterEnum("google.privacy.dlp.v2.ByteContentItem_BytesType", ByteContentItem_BytesType_name, ByteContentItem_BytesType_value)
proto.RegisterEnum("google.privacy.dlp.v2.OutputStorageConfig_OutputSchema", OutputStorageConfig_OutputSchema_name, OutputStorageConfig_OutputSchema_value)
proto.RegisterEnum("google.privacy.dlp.v2.TimePartConfig_TimePart", TimePartConfig_TimePart_name, TimePartConfig_TimePart_value)
proto.RegisterEnum("google.privacy.dlp.v2.CharsToIgnore_CommonCharsToIgnore", CharsToIgnore_CommonCharsToIgnore_name, CharsToIgnore_CommonCharsToIgnore_value)
proto.RegisterEnum("google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet", CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_name, CryptoReplaceFfxFpeConfig_FfxCommonNativeAlphabet_value)
proto.RegisterEnum("google.privacy.dlp.v2.RecordCondition_Expressions_LogicalOperator", RecordCondition_Expressions_LogicalOperator_name, RecordCondition_Expressions_LogicalOperator_value)
proto.RegisterEnum("google.privacy.dlp.v2.TransformationSummary_TransformationResultCode", TransformationSummary_TransformationResultCode_name, TransformationSummary_TransformationResultCode_value)
proto.RegisterEnum("google.privacy.dlp.v2.JobTrigger_Status", JobTrigger_Status_name, JobTrigger_Status_value)
proto.RegisterEnum("google.privacy.dlp.v2.DlpJob_JobState", DlpJob_JobState_name, DlpJob_JobState_value)
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// DlpServiceClient is the client API for DlpService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type DlpServiceClient interface {
// Finds potentially sensitive info in content.
// This method has limits on input size, processing time, and output size.
//
// When no InfoTypes or CustomInfoTypes are specified in this request, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
//
// For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
// and https://cloud.google.com/dlp/docs/inspecting-text,
InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error)
// Redacts potentially sensitive info from an image.
// This method has limits on input size, processing time, and output size.
// See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
// learn more.
//
// When no InfoTypes or CustomInfoTypes are specified in this request, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error)
// De-identifies potentially sensitive info from a ContentItem.
// This method has limits on input size and output size.
// See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
// learn more.
//
// When no InfoTypes or CustomInfoTypes are specified in this request, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error)
// Re-identifies content that has been de-identified.
// See
// https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
// to learn more.
ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error)
// Returns a list of the sensitive information types that the DLP API
// supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
// learn more.
ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error)
// Creates an InspectTemplate for re-using frequently used configuration
// for inspecting content, images, and storage.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
// Updates the InspectTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
// Gets an InspectTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error)
// Lists InspectTemplates.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error)
// Deletes an InspectTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Creates a DeidentifyTemplate for re-using frequently used configuration
// for de-identifying content, images, and storage.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
// Updates the DeidentifyTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
// Gets a DeidentifyTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error)
// Lists DeidentifyTemplates.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error)
// Deletes a DeidentifyTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Creates a job trigger to run DLP actions such as scanning storage for
// sensitive information on a set schedule.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
// Updates a job trigger.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
// Gets a job trigger.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error)
// Lists job triggers.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error)
// Deletes a job trigger.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Creates a new job to inspect storage or calculate risk metrics.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
//
// When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error)
// Lists DlpJobs that match the specified filter in the request.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error)
// Gets the latest state of a long-running DlpJob.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error)
// Deletes a long-running DlpJob. This method indicates that the client is
// no longer interested in the DlpJob result. The job will be cancelled if
// possible.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Starts asynchronous cancellation on a long-running DlpJob. The server
// makes a best effort to cancel the DlpJob, but success is not
// guaranteed.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error)
// Creates a pre-built stored infoType to be used for inspection.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
// Updates the stored infoType by creating a new version. The existing version
// will continue to be used until the new version is ready.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
// Gets a stored infoType.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error)
// Lists stored infoTypes.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error)
// Deletes a stored infoType.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error)
}
type dlpServiceClient struct {
cc *grpc.ClientConn
}
func NewDlpServiceClient(cc *grpc.ClientConn) DlpServiceClient {
return &dlpServiceClient{cc}
}
func (c *dlpServiceClient) InspectContent(ctx context.Context, in *InspectContentRequest, opts ...grpc.CallOption) (*InspectContentResponse, error) {
out := new(InspectContentResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/InspectContent", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) RedactImage(ctx context.Context, in *RedactImageRequest, opts ...grpc.CallOption) (*RedactImageResponse, error) {
out := new(RedactImageResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/RedactImage", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) DeidentifyContent(ctx context.Context, in *DeidentifyContentRequest, opts ...grpc.CallOption) (*DeidentifyContentResponse, error) {
out := new(DeidentifyContentResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeidentifyContent", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ReidentifyContent(ctx context.Context, in *ReidentifyContentRequest, opts ...grpc.CallOption) (*ReidentifyContentResponse, error) {
out := new(ReidentifyContentResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ReidentifyContent", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ListInfoTypes(ctx context.Context, in *ListInfoTypesRequest, opts ...grpc.CallOption) (*ListInfoTypesResponse, error) {
out := new(ListInfoTypesResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInfoTypes", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) CreateInspectTemplate(ctx context.Context, in *CreateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
out := new(InspectTemplate)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) UpdateInspectTemplate(ctx context.Context, in *UpdateInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
out := new(InspectTemplate)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) GetInspectTemplate(ctx context.Context, in *GetInspectTemplateRequest, opts ...grpc.CallOption) (*InspectTemplate, error) {
out := new(InspectTemplate)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetInspectTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ListInspectTemplates(ctx context.Context, in *ListInspectTemplatesRequest, opts ...grpc.CallOption) (*ListInspectTemplatesResponse, error) {
out := new(ListInspectTemplatesResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListInspectTemplates", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) DeleteInspectTemplate(ctx context.Context, in *DeleteInspectTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) CreateDeidentifyTemplate(ctx context.Context, in *CreateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
out := new(DeidentifyTemplate)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) UpdateDeidentifyTemplate(ctx context.Context, in *UpdateDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
out := new(DeidentifyTemplate)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) GetDeidentifyTemplate(ctx context.Context, in *GetDeidentifyTemplateRequest, opts ...grpc.CallOption) (*DeidentifyTemplate, error) {
out := new(DeidentifyTemplate)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ListDeidentifyTemplates(ctx context.Context, in *ListDeidentifyTemplatesRequest, opts ...grpc.CallOption) (*ListDeidentifyTemplatesResponse, error) {
out := new(ListDeidentifyTemplatesResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) DeleteDeidentifyTemplate(ctx context.Context, in *DeleteDeidentifyTemplateRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) CreateJobTrigger(ctx context.Context, in *CreateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
out := new(JobTrigger)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateJobTrigger", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) UpdateJobTrigger(ctx context.Context, in *UpdateJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
out := new(JobTrigger)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) GetJobTrigger(ctx context.Context, in *GetJobTriggerRequest, opts ...grpc.CallOption) (*JobTrigger, error) {
out := new(JobTrigger)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetJobTrigger", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ListJobTriggers(ctx context.Context, in *ListJobTriggersRequest, opts ...grpc.CallOption) (*ListJobTriggersResponse, error) {
out := new(ListJobTriggersResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListJobTriggers", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) DeleteJobTrigger(ctx context.Context, in *DeleteJobTriggerRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) CreateDlpJob(ctx context.Context, in *CreateDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) {
out := new(DlpJob)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateDlpJob", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ListDlpJobs(ctx context.Context, in *ListDlpJobsRequest, opts ...grpc.CallOption) (*ListDlpJobsResponse, error) {
out := new(ListDlpJobsResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListDlpJobs", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) GetDlpJob(ctx context.Context, in *GetDlpJobRequest, opts ...grpc.CallOption) (*DlpJob, error) {
out := new(DlpJob)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetDlpJob", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) DeleteDlpJob(ctx context.Context, in *DeleteDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteDlpJob", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) CancelDlpJob(ctx context.Context, in *CancelDlpJobRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CancelDlpJob", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) CreateStoredInfoType(ctx context.Context, in *CreateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
out := new(StoredInfoType)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) UpdateStoredInfoType(ctx context.Context, in *UpdateStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
out := new(StoredInfoType)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) GetStoredInfoType(ctx context.Context, in *GetStoredInfoTypeRequest, opts ...grpc.CallOption) (*StoredInfoType, error) {
out := new(StoredInfoType)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/GetStoredInfoType", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) ListStoredInfoTypes(ctx context.Context, in *ListStoredInfoTypesRequest, opts ...grpc.CallOption) (*ListStoredInfoTypesResponse, error) {
out := new(ListStoredInfoTypesResponse)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *dlpServiceClient) DeleteStoredInfoType(ctx context.Context, in *DeleteStoredInfoTypeRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
out := new(empty.Empty)
err := c.cc.Invoke(ctx, "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// DlpServiceServer is the server API for DlpService service.
type DlpServiceServer interface {
// Finds potentially sensitive info in content.
// This method has limits on input size, processing time, and output size.
//
// When no InfoTypes or CustomInfoTypes are specified in this request, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
//
// For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
// and https://cloud.google.com/dlp/docs/inspecting-text,
InspectContent(context.Context, *InspectContentRequest) (*InspectContentResponse, error)
// Redacts potentially sensitive info from an image.
// This method has limits on input size, processing time, and output size.
// See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
// learn more.
//
// When no InfoTypes or CustomInfoTypes are specified in this request, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
RedactImage(context.Context, *RedactImageRequest) (*RedactImageResponse, error)
// De-identifies potentially sensitive info from a ContentItem.
// This method has limits on input size and output size.
// See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
// learn more.
//
// When no InfoTypes or CustomInfoTypes are specified in this request, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
DeidentifyContent(context.Context, *DeidentifyContentRequest) (*DeidentifyContentResponse, error)
// Re-identifies content that has been de-identified.
// See
// https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
// to learn more.
ReidentifyContent(context.Context, *ReidentifyContentRequest) (*ReidentifyContentResponse, error)
// Returns a list of the sensitive information types that the DLP API
// supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
// learn more.
ListInfoTypes(context.Context, *ListInfoTypesRequest) (*ListInfoTypesResponse, error)
// Creates an InspectTemplate for re-using frequently used configuration
// for inspecting content, images, and storage.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
CreateInspectTemplate(context.Context, *CreateInspectTemplateRequest) (*InspectTemplate, error)
// Updates the InspectTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
UpdateInspectTemplate(context.Context, *UpdateInspectTemplateRequest) (*InspectTemplate, error)
// Gets an InspectTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
GetInspectTemplate(context.Context, *GetInspectTemplateRequest) (*InspectTemplate, error)
// Lists InspectTemplates.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
ListInspectTemplates(context.Context, *ListInspectTemplatesRequest) (*ListInspectTemplatesResponse, error)
// Deletes an InspectTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates to learn more.
DeleteInspectTemplate(context.Context, *DeleteInspectTemplateRequest) (*empty.Empty, error)
// Creates a DeidentifyTemplate for re-using frequently used configuration
// for de-identifying content, images, and storage.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
CreateDeidentifyTemplate(context.Context, *CreateDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
// Updates the DeidentifyTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
UpdateDeidentifyTemplate(context.Context, *UpdateDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
// Gets a DeidentifyTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
GetDeidentifyTemplate(context.Context, *GetDeidentifyTemplateRequest) (*DeidentifyTemplate, error)
// Lists DeidentifyTemplates.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
ListDeidentifyTemplates(context.Context, *ListDeidentifyTemplatesRequest) (*ListDeidentifyTemplatesResponse, error)
// Deletes a DeidentifyTemplate.
// See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
// more.
DeleteDeidentifyTemplate(context.Context, *DeleteDeidentifyTemplateRequest) (*empty.Empty, error)
// Creates a job trigger to run DLP actions such as scanning storage for
// sensitive information on a set schedule.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
CreateJobTrigger(context.Context, *CreateJobTriggerRequest) (*JobTrigger, error)
// Updates a job trigger.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
UpdateJobTrigger(context.Context, *UpdateJobTriggerRequest) (*JobTrigger, error)
// Gets a job trigger.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
GetJobTrigger(context.Context, *GetJobTriggerRequest) (*JobTrigger, error)
// Lists job triggers.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
ListJobTriggers(context.Context, *ListJobTriggersRequest) (*ListJobTriggersResponse, error)
// Deletes a job trigger.
// See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
DeleteJobTrigger(context.Context, *DeleteJobTriggerRequest) (*empty.Empty, error)
// Creates a new job to inspect storage or calculate risk metrics.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
//
// When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
// system will automatically choose what detectors to run. By default this may
// be all types, but may change over time as detectors are updated.
CreateDlpJob(context.Context, *CreateDlpJobRequest) (*DlpJob, error)
// Lists DlpJobs that match the specified filter in the request.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
ListDlpJobs(context.Context, *ListDlpJobsRequest) (*ListDlpJobsResponse, error)
// Gets the latest state of a long-running DlpJob.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
GetDlpJob(context.Context, *GetDlpJobRequest) (*DlpJob, error)
// Deletes a long-running DlpJob. This method indicates that the client is
// no longer interested in the DlpJob result. The job will be cancelled if
// possible.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
DeleteDlpJob(context.Context, *DeleteDlpJobRequest) (*empty.Empty, error)
// Starts asynchronous cancellation on a long-running DlpJob. The server
// makes a best effort to cancel the DlpJob, but success is not
// guaranteed.
// See https://cloud.google.com/dlp/docs/inspecting-storage and
// https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
CancelDlpJob(context.Context, *CancelDlpJobRequest) (*empty.Empty, error)
// Creates a pre-built stored infoType to be used for inspection.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
CreateStoredInfoType(context.Context, *CreateStoredInfoTypeRequest) (*StoredInfoType, error)
// Updates the stored infoType by creating a new version. The existing version
// will continue to be used until the new version is ready.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
UpdateStoredInfoType(context.Context, *UpdateStoredInfoTypeRequest) (*StoredInfoType, error)
// Gets a stored infoType.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
GetStoredInfoType(context.Context, *GetStoredInfoTypeRequest) (*StoredInfoType, error)
// Lists stored infoTypes.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
ListStoredInfoTypes(context.Context, *ListStoredInfoTypesRequest) (*ListStoredInfoTypesResponse, error)
// Deletes a stored infoType.
// See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
// learn more.
DeleteStoredInfoType(context.Context, *DeleteStoredInfoTypeRequest) (*empty.Empty, error)
}
func RegisterDlpServiceServer(s *grpc.Server, srv DlpServiceServer) {
s.RegisterService(&_DlpService_serviceDesc, srv)
}
func _DlpService_InspectContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(InspectContentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).InspectContent(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/InspectContent",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).InspectContent(ctx, req.(*InspectContentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_RedactImage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RedactImageRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).RedactImage(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/RedactImage",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).RedactImage(ctx, req.(*RedactImageRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_DeidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeidentifyContentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).DeidentifyContent(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/DeidentifyContent",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).DeidentifyContent(ctx, req.(*DeidentifyContentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ReidentifyContent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ReidentifyContentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ReidentifyContent(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ReidentifyContent",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ReidentifyContent(ctx, req.(*ReidentifyContentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ListInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListInfoTypesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ListInfoTypes(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ListInfoTypes",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ListInfoTypes(ctx, req.(*ListInfoTypesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_CreateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateInspectTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).CreateInspectTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/CreateInspectTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).CreateInspectTemplate(ctx, req.(*CreateInspectTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_UpdateInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateInspectTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateInspectTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).UpdateInspectTemplate(ctx, req.(*UpdateInspectTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_GetInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInspectTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).GetInspectTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/GetInspectTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).GetInspectTemplate(ctx, req.(*GetInspectTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ListInspectTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListInspectTemplatesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ListInspectTemplates(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ListInspectTemplates",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ListInspectTemplates(ctx, req.(*ListInspectTemplatesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_DeleteInspectTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteInspectTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteInspectTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).DeleteInspectTemplate(ctx, req.(*DeleteInspectTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_CreateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateDeidentifyTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).CreateDeidentifyTemplate(ctx, req.(*CreateDeidentifyTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_UpdateDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateDeidentifyTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).UpdateDeidentifyTemplate(ctx, req.(*UpdateDeidentifyTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_GetDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetDeidentifyTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).GetDeidentifyTemplate(ctx, req.(*GetDeidentifyTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ListDeidentifyTemplates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListDeidentifyTemplatesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ListDeidentifyTemplates(ctx, req.(*ListDeidentifyTemplatesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_DeleteDeidentifyTemplate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteDeidentifyTemplateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).DeleteDeidentifyTemplate(ctx, req.(*DeleteDeidentifyTemplateRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_CreateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateJobTriggerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).CreateJobTrigger(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/CreateJobTrigger",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).CreateJobTrigger(ctx, req.(*CreateJobTriggerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_UpdateJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateJobTriggerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).UpdateJobTrigger(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateJobTrigger",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).UpdateJobTrigger(ctx, req.(*UpdateJobTriggerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_GetJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetJobTriggerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).GetJobTrigger(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/GetJobTrigger",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).GetJobTrigger(ctx, req.(*GetJobTriggerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ListJobTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListJobTriggersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ListJobTriggers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ListJobTriggers",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ListJobTriggers(ctx, req.(*ListJobTriggersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_DeleteJobTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteJobTriggerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).DeleteJobTrigger(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteJobTrigger",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).DeleteJobTrigger(ctx, req.(*DeleteJobTriggerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_CreateDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateDlpJobRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).CreateDlpJob(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/CreateDlpJob",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).CreateDlpJob(ctx, req.(*CreateDlpJobRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ListDlpJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListDlpJobsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ListDlpJobs(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ListDlpJobs",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ListDlpJobs(ctx, req.(*ListDlpJobsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_GetDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetDlpJobRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).GetDlpJob(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/GetDlpJob",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).GetDlpJob(ctx, req.(*GetDlpJobRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_DeleteDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteDlpJobRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).DeleteDlpJob(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteDlpJob",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).DeleteDlpJob(ctx, req.(*DeleteDlpJobRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_CancelDlpJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CancelDlpJobRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).CancelDlpJob(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/CancelDlpJob",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).CancelDlpJob(ctx, req.(*CancelDlpJobRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_CreateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CreateStoredInfoTypeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).CreateStoredInfoType(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/CreateStoredInfoType",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).CreateStoredInfoType(ctx, req.(*CreateStoredInfoTypeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_UpdateStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateStoredInfoTypeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/UpdateStoredInfoType",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).UpdateStoredInfoType(ctx, req.(*UpdateStoredInfoTypeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_GetStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetStoredInfoTypeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).GetStoredInfoType(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/GetStoredInfoType",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).GetStoredInfoType(ctx, req.(*GetStoredInfoTypeRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_ListStoredInfoTypes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListStoredInfoTypesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/ListStoredInfoTypes",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).ListStoredInfoTypes(ctx, req.(*ListStoredInfoTypesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _DlpService_DeleteStoredInfoType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(DeleteStoredInfoTypeRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/google.privacy.dlp.v2.DlpService/DeleteStoredInfoType",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DlpServiceServer).DeleteStoredInfoType(ctx, req.(*DeleteStoredInfoTypeRequest))
}
return interceptor(ctx, in, info, handler)
}
var _DlpService_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.privacy.dlp.v2.DlpService",
HandlerType: (*DlpServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "InspectContent",
Handler: _DlpService_InspectContent_Handler,
},
{
MethodName: "RedactImage",
Handler: _DlpService_RedactImage_Handler,
},
{
MethodName: "DeidentifyContent",
Handler: _DlpService_DeidentifyContent_Handler,
},
{
MethodName: "ReidentifyContent",
Handler: _DlpService_ReidentifyContent_Handler,
},
{
MethodName: "ListInfoTypes",
Handler: _DlpService_ListInfoTypes_Handler,
},
{
MethodName: "CreateInspectTemplate",
Handler: _DlpService_CreateInspectTemplate_Handler,
},
{
MethodName: "UpdateInspectTemplate",
Handler: _DlpService_UpdateInspectTemplate_Handler,
},
{
MethodName: "GetInspectTemplate",
Handler: _DlpService_GetInspectTemplate_Handler,
},
{
MethodName: "ListInspectTemplates",
Handler: _DlpService_ListInspectTemplates_Handler,
},
{
MethodName: "DeleteInspectTemplate",
Handler: _DlpService_DeleteInspectTemplate_Handler,
},
{
MethodName: "CreateDeidentifyTemplate",
Handler: _DlpService_CreateDeidentifyTemplate_Handler,
},
{
MethodName: "UpdateDeidentifyTemplate",
Handler: _DlpService_UpdateDeidentifyTemplate_Handler,
},
{
MethodName: "GetDeidentifyTemplate",
Handler: _DlpService_GetDeidentifyTemplate_Handler,
},
{
MethodName: "ListDeidentifyTemplates",
Handler: _DlpService_ListDeidentifyTemplates_Handler,
},
{
MethodName: "DeleteDeidentifyTemplate",
Handler: _DlpService_DeleteDeidentifyTemplate_Handler,
},
{
MethodName: "CreateJobTrigger",
Handler: _DlpService_CreateJobTrigger_Handler,
},
{
MethodName: "UpdateJobTrigger",
Handler: _DlpService_UpdateJobTrigger_Handler,
},
{
MethodName: "GetJobTrigger",
Handler: _DlpService_GetJobTrigger_Handler,
},
{
MethodName: "ListJobTriggers",
Handler: _DlpService_ListJobTriggers_Handler,
},
{
MethodName: "DeleteJobTrigger",
Handler: _DlpService_DeleteJobTrigger_Handler,
},
{
MethodName: "CreateDlpJob",
Handler: _DlpService_CreateDlpJob_Handler,
},
{
MethodName: "ListDlpJobs",
Handler: _DlpService_ListDlpJobs_Handler,
},
{
MethodName: "GetDlpJob",
Handler: _DlpService_GetDlpJob_Handler,
},
{
MethodName: "DeleteDlpJob",
Handler: _DlpService_DeleteDlpJob_Handler,
},
{
MethodName: "CancelDlpJob",
Handler: _DlpService_CancelDlpJob_Handler,
},
{
MethodName: "CreateStoredInfoType",
Handler: _DlpService_CreateStoredInfoType_Handler,
},
{
MethodName: "UpdateStoredInfoType",
Handler: _DlpService_UpdateStoredInfoType_Handler,
},
{
MethodName: "GetStoredInfoType",
Handler: _DlpService_GetStoredInfoType_Handler,
},
{
MethodName: "ListStoredInfoTypes",
Handler: _DlpService_ListStoredInfoTypes_Handler,
},
{
MethodName: "DeleteStoredInfoType",
Handler: _DlpService_DeleteStoredInfoType_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "google/privacy/dlp/v2/dlp.proto",
}
func init() {
proto.RegisterFile("google/privacy/dlp/v2/dlp.proto", fileDescriptor_dlp_d4cf3fee35bf2e62)
}
var fileDescriptor_dlp_d4cf3fee35bf2e62 = []byte{
// 8890 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x7d, 0x5b, 0x8c, 0x1b, 0x59,
0x76, 0x58, 0x17, 0xd9, 0xec, 0x26, 0x0f, 0x9b, 0x6c, 0xf6, 0xed, 0x87, 0x5a, 0x94, 0x34, 0xd2,
0x94, 0x66, 0x24, 0x4d, 0x4b, 0xea, 0x9e, 0xe9, 0x79, 0xec, 0x8c, 0x66, 0x76, 0xbc, 0x6c, 0x92,
0x12, 0xa9, 0xe9, 0x97, 0x8a, 0x6c, 0x69, 0x24, 0x0f, 0xa6, 0x52, 0x4d, 0xde, 0x66, 0x97, 0x9a,
0x64, 0x51, 0x55, 0x45, 0xa9, 0x7b, 0x6c, 0x07, 0xeb, 0x20, 0x89, 0x61, 0x20, 0x83, 0x38, 0x70,
0x36, 0x9b, 0x78, 0x1d, 0xc3, 0x89, 0x03, 0x04, 0x36, 0xe0, 0x3c, 0xe0, 0xd8, 0x46, 0x12, 0xc7,
0x1f, 0x76, 0x10, 0x07, 0x81, 0x11, 0xec, 0x62, 0xf3, 0x91, 0x20, 0x30, 0x90, 0x6c, 0xe2, 0xc4,
0xc0, 0xf8, 0x27, 0x40, 0x7e, 0x9c, 0xfc, 0x04, 0xf7, 0x51, 0x4f, 0x56, 0x91, 0xc5, 0x96, 0x14,
0x2f, 0xf6, 0x8b, 0x75, 0xcf, 0x3d, 0xe7, 0xdc, 0x73, 0xcf, 0x3d, 0xf7, 0xdc, 0x73, 0x9f, 0x84,
0x8b, 0x2d, 0x4d, 0x6b, 0xb5, 0xf1, 0x5a, 0x4f, 0x57, 0x9f, 0x2a, 0x8d, 0x93, 0xb5, 0x66, 0xbb,
0xb7, 0xf6, 0x74, 0x9d, 0xfc, 0xac, 0xf6, 0x74, 0xcd, 0xd4, 0xd0, 0x22, 0x43, 0x58, 0xe5, 0x08,
0xab, 0x24, 0xe7, 0xe9, 0x7a, 0xfe, 0x3c, 0xa7, 0x53, 0x7a, 0xea, 0x9a, 0xd2, 0xed, 0x6a, 0xa6,
0x62, 0xaa, 0x5a, 0xd7, 0x60, 0x44, 0xf9, 0xcb, 0xc1, 0x5c, 0x0d, 0x53, 0xd3, 0x95, 0x16, 0xe6,
0x48, 0xaf, 0xd8, 0x48, 0x9a, 0xa9, 0xed, 0xf7, 0x0f, 0xd6, 0x9a, 0x7d, 0x9d, 0x72, 0xe1, 0xf9,
0xe7, 0xfc, 0xf9, 0xb8, 0xd3, 0x33, 0x4f, 0x78, 0xe6, 0x25, 0x7f, 0xe6, 0x81, 0x8a, 0xdb, 0x4d,
0xb9, 0xa3, 0x18, 0x47, 0x1c, 0xe3, 0xa2, 0x1f, 0xc3, 0x54, 0x3b, 0xd8, 0x30, 0x95, 0x0e, 0xaf,
0x59, 0xfe, 0x0c, 0x47, 0xd0, 0x7b, 0x8d, 0x35, 0xc3, 0x54, 0xcc, 0xbe, 0x25, 0xfd, 0x12, 0xcf,
0x30, 0x4f, 0x7a, 0x78, 0xad, 0xa9, 0x98, 0xd8, 0x27, 0x10, 0x87, 0x9f, 0x68, 0x07, 0xcf, 0x30,
0x3e, 0x0a, 0xca, 0x24, 0x45, 0x69, 0x07, 0x4d, 0x85, 0x4b, 0x2b, 0xfe, 0xdb, 0x29, 0xc8, 0x54,
0xbb, 0x46, 0x0f, 0x37, 0xcc, 0xa2, 0xd6, 0x3d, 0x50, 0x5b, 0xe8, 0x63, 0x00, 0xb5, 0x7b, 0xa0,
0xc9, 0x04, 0xdd, 0x58, 0x16, 0x2e, 0xc5, 0xaf, 0xa5, 0xd7, 0x2f, 0xae, 0x06, 0xea, 0x7a, 0xb5,
0xda, 0x3d, 0xd0, 0xea, 0x27, 0x3d, 0x2c, 0xa5, 0x54, 0xfe, 0x65, 0xa0, 0x0a, 0x64, 0x3b, 0x6a,
0x57, 0x6e, 0xab, 0x47, 0xb8, 0xad, 0x1e, 0x6a, 0x5a, 0x73, 0x39, 0x76, 0x49, 0xb8, 0x96, 0x5d,
0x7f, 0x35, 0x84, 0xc7, 0xa6, 0x8d, 0x28, 0x65, 0x3a, 0x6a, 0xd7, 0x49, 0xa2, 0xbb, 0x30, 0xd5,
0x56, 0x3b, 0xaa, 0x69, 0x2c, 0xc7, 0x2f, 0x09, 0xd7, 0xd2, 0xeb, 0xeb, 0xa1, 0x52, 0xb8, 0xe4,
0x5f, 0xbd, 0xad, 0x76, 0x9b, 0x6a, 0xb7, 0xb5, 0x49, 0x29, 0x25, 0xce, 0x01, 0x5d, 0x86, 0x8c,
0xda, 0x6d, 0xb4, 0xfb, 0x4d, 0x2c, 0x3f, 0xe9, 0x6b, 0x26, 0x5e, 0x9e, 0xbc, 0x24, 0x5c, 0x4b,
0x4a, 0x33, 0x1c, 0x78, 0x8f, 0xc0, 0xd0, 0x0d, 0x40, 0xf8, 0x98, 0x21, 0xb9, 0x54, 0x90, 0xa0,
0x98, 0x39, 0x9e, 0x53, 0xb5, 0x2b, 0x7a, 0x0f, 0xe6, 0x1a, 0x7d, 0xc3, 0xd4, 0x3a, 0x6e, 0xe4,
0x29, 0xaa, 0xaf, 0xd7, 0x43, 0x24, 0x2d, 0x52, 0x7c, 0x5b, 0x6b, 0xb3, 0x0d, 0x4f, 0xda, 0x40,
0x5b, 0x30, 0xdb, 0xd0, 0xba, 0x26, 0xee, 0x9a, 0xb2, 0xd6, 0xa3, 0x66, 0xbb, 0x9c, 0xbc, 0x14,
0xbf, 0x96, 0x5d, 0x7f, 0x2d, 0x8c, 0x21, 0xc3, 0xde, 0xa1, 0xc8, 0x52, 0xb6, 0xe1, 0x4e, 0x1a,
0xf9, 0xaf, 0x62, 0x90, 0xf1, 0xa8, 0x03, 0xbd, 0x05, 0x8b, 0x1d, 0xe5, 0x58, 0x3e, 0x60, 0x40,
0x43, 0xee, 0x61, 0x5d, 0x56, 0x4d, 0xdc, 0x59, 0x16, 0x2e, 0x09, 0xd7, 0x12, 0x12, 0xea, 0x28,
0xc7, 0x9c, 0xc0, 0xd8, 0xc5, 0x7a, 0xd5, 0xc4, 0x1d, 0xf4, 0x35, 0x58, 0x1e, 0x20, 0xd1, 0xf1,
0x93, 0x3e, 0x36, 0x4c, 0xda, 0xb2, 0x09, 0x69, 0xd1, 0x4b, 0x25, 0xb1, 0x4c, 0xf4, 0x93, 0x90,
0x1f, 0x2c, 0xcb, 0xd2, 0xd4, 0x72, 0x9c, 0x2a, 0xea, 0x1b, 0xe3, 0x37, 0xa9, 0x6d, 0x74, 0x34,
0x29, 0x2d, 0xf9, 0x44, 0xe6, 0x99, 0xf9, 0x1e, 0xb1, 0x6b, 0x17, 0x22, 0xfa, 0x08, 0x52, 0x4e,
0xe9, 0x02, 0x35, 0xa8, 0x91, 0x66, 0x9d, 0xb4, 0xcc, 0x1a, 0xbd, 0x0a, 0x33, 0xee, 0xca, 0xf0,
0x9a, 0xa7, 0x5d, 0x85, 0x8b, 0x5f, 0x09, 0x30, 0xbb, 0x71, 0x62, 0x62, 0xde, 0x26, 0x54, 0x79,
0x25, 0x98, 0xb4, 0xcb, 0xcb, 0xae, 0xbf, 0x19, 0x52, 0x9e, 0x8f, 0x8a, 0xa6, 0x0d, 0x2a, 0x00,
0xa5, 0x46, 0x08, 0x26, 0x9b, 0x8a, 0xa9, 0xd0, 0x42, 0x67, 0x24, 0xfa, 0x2d, 0xfe, 0x45, 0x48,
0xd9, 0x68, 0x28, 0x0f, 0x4b, 0x1b, 0x0f, 0xeb, 0xe5, 0x9a, 0x5c, 0x7f, 0xb8, 0x5b, 0x96, 0xf7,
0xb6, 0x6b, 0xbb, 0xe5, 0x62, 0xf5, 0x76, 0xb5, 0x5c, 0xca, 0x4d, 0xa0, 0x14, 0x24, 0xaa, 0x5b,
0x85, 0x3b, 0xe5, 0xdc, 0x14, 0xca, 0x02, 0xd0, 0x4f, 0xf9, 0xee, 0x6e, 0xf9, 0x4e, 0x4e, 0x40,
0x19, 0x48, 0xb1, 0xf4, 0xc6, 0xd6, 0x6e, 0x2e, 0xe6, 0x24, 0x77, 0xb7, 0xef, 0xe4, 0xe2, 0x4e,
0xb2, 0x76, 0xff, 0x4e, 0x6e, 0x92, 0x24, 0xeb, 0xe5, 0x4f, 0xeb, 0xf2, 0x5e, 0xfd, 0xf6, 0xfb,
0xb9, 0x84, 0xf8, 0x8f, 0x05, 0x48, 0xbb, 0x6b, 0xba, 0x04, 0x89, 0xa7, 0x4a, 0xbb, 0x8f, 0x69,
0x5f, 0x4d, 0x55, 0x26, 0x24, 0x96, 0x44, 0xef, 0x40, 0xc2, 0x54, 0xf6, 0xdb, 0xac, 0xc3, 0xa5,
0xd7, 0xcf, 0x87, 0xa8, 0xa0, 0x4e, 0x70, 0x08, 0x15, 0x45, 0x46, 0x65, 0x48, 0xed, 0x9f, 0x98,
0x98, 0xd9, 0x66, 0x82, 0x52, 0x5e, 0x89, 0xa6, 0xbc, 0xca, 0x84, 0x94, 0x24, 0xa4, 0xe4, 0x7b,
0x23, 0x0d, 0x29, 0xa2, 0x2c, 0xca, 0x46, 0xfc, 0x67, 0x02, 0x24, 0x68, 0x31, 0xe8, 0x7d, 0x98,
0x3e, 0xc4, 0x4a, 0x13, 0xeb, 0x96, 0x7f, 0x7b, 0x25, 0x84, 0xf7, 0x6d, 0xe2, 0xba, 0xab, 0x4d,
0xc9, 0x42, 0x47, 0xef, 0xc0, 0xa4, 0xae, 0x3d, 0x23, 0xcd, 0x4f, 0xc8, 0x2e, 0x0d, 0xab, 0xcc,
0xaa, 0xa4, 0x3d, 0x93, 0x28, 0x76, 0xfe, 0x43, 0x88, 0x4b, 0xda, 0x33, 0xf4, 0x0e, 0x4c, 0x51,
0x9d, 0x58, 0xa5, 0x86, 0xe9, 0xe2, 0x3e, 0x41, 0x92, 0x38, 0xae, 0xf8, 0x85, 0xed, 0xa0, 0x25,
0x6c, 0xf4, 0xdb, 0x26, 0xba, 0x05, 0x49, 0xdb, 0x0c, 0x47, 0x89, 0x4f, 0xd1, 0x24, 0x1b, 0x1f,
0xdd, 0x04, 0x64, 0xf7, 0x47, 0x53, 0xef, 0x77, 0x1b, 0x8a, 0x89, 0x99, 0x83, 0x4e, 0x4a, 0x73,
0x56, 0x4e, 0xdd, 0xca, 0x10, 0xff, 0x73, 0x0c, 0xa6, 0x39, 0x13, 0xb4, 0x00, 0x09, 0xe6, 0x39,
0x89, 0x2d, 0xa7, 0x24, 0x96, 0xf0, 0xf6, 0xaa, 0xd8, 0xb8, 0xbd, 0xaa, 0x00, 0xe0, 0x1a, 0x27,
0xe2, 0x51, 0xc7, 0x09, 0x17, 0x11, 0xfa, 0x10, 0x92, 0x6d, 0xad, 0x41, 0x47, 0x67, 0x6e, 0x62,
0x61, 0xe5, 0x6f, 0x72, 0x34, 0xc9, 0x26, 0x40, 0x1f, 0x42, 0xba, 0xa1, 0x63, 0xc5, 0xc4, 0x32,
0x19, 0x17, 0x97, 0xa7, 0x28, 0x7d, 0xde, 0xa1, 0x67, 0xe3, 0xf3, 0x6a, 0xdd, 0x1a, 0x9f, 0x25,
0x60, 0xe8, 0x04, 0x80, 0x7e, 0x0c, 0x80, 0xea, 0x80, 0x3a, 0xb5, 0xe5, 0x69, 0x4a, 0x1b, 0x66,
0x11, 0x74, 0x7c, 0x21, 0x0a, 0x90, 0x52, 0x4f, 0xac, 0x4f, 0xf1, 0xbf, 0x09, 0x90, 0xdc, 0x74,
0x44, 0x01, 0x6a, 0xf1, 0xba, 0xd2, 0x6d, 0x59, 0xfe, 0x29, 0xcc, 0x40, 0x24, 0x82, 0x23, 0xd1,
0x1e, 0x42, 0x3f, 0x51, 0x99, 0x8c, 0x1b, 0x4d, 0xdc, 0xd3, 0xd4, 0xae, 0xc9, 0x39, 0xc4, 0x22,
0x70, 0xc8, 0xda, 0x44, 0x8c, 0x4d, 0x0d, 0xe6, 0xac, 0xe1, 0xc7, 0x52, 0x91, 0xb1, 0x3c, 0x4d,
0x4d, 0xec, 0xca, 0xf0, 0x01, 0xc8, 0xd6, 0x6d, 0xae, 0xe1, 0x05, 0x18, 0xe2, 0x6f, 0xc7, 0x61,
0xd6, 0x87, 0x85, 0x5e, 0x07, 0x3a, 0x54, 0x29, 0x6a, 0x17, 0xeb, 0x72, 0x57, 0xe9, 0x58, 0x46,
0x95, 0xb1, 0xa1, 0xdb, 0x4a, 0x07, 0xa3, 0x5d, 0x98, 0xd5, 0x71, 0x43, 0xd3, 0x9b, 0xb6, 0x38,
0xbc, 0x5a, 0x61, 0xe3, 0xab, 0x44, 0xb1, 0xad, 0x62, 0x2a, 0x13, 0x52, 0x56, 0xf7, 0x40, 0xd0,
0x16, 0x64, 0xd5, 0x8e, 0xd2, 0xc2, 0x0e, 0x43, 0x16, 0x5a, 0x84, 0x8d, 0xaf, 0x55, 0x82, 0xec,
0xe2, 0x97, 0x51, 0xdd, 0x00, 0x74, 0x1f, 0xe6, 0x9a, 0x5a, 0xa3, 0xdf, 0x71, 0x6b, 0x8c, 0xbb,
0xab, 0xab, 0x21, 0x1c, 0x4b, 0x1c, 0xdf, 0xc5, 0x34, 0xd7, 0xf4, 0xc1, 0xd0, 0x27, 0x30, 0xef,
0xe8, 0xc7, 0x8e, 0x0e, 0x23, 0xd8, 0x27, 0xb2, 0xc9, 0x6c, 0x18, 0xba, 0xce, 0x5a, 0x95, 0x31,
0x7b, 0x8a, 0x75, 0x83, 0x08, 0x39, 0x4d, 0xf5, 0x9d, 0xb3, 0x33, 0xee, 0x33, 0xf8, 0x06, 0x38,
0xdd, 0x49, 0x7c, 0x1b, 0x72, 0x7e, 0x69, 0xd1, 0x45, 0x48, 0x1f, 0xa8, 0x6d, 0x2c, 0x6b, 0x07,
0x07, 0x06, 0x36, 0x69, 0xb3, 0xc5, 0x25, 0x20, 0xa0, 0x1d, 0x0a, 0x11, 0xff, 0x93, 0x00, 0x59,
0x6f, 0x33, 0x90, 0x8e, 0xc2, 0x9b, 0xf1, 0x08, 0x9f, 0x70, 0xd3, 0xbe, 0x34, 0xb4, 0x05, 0x3f,
0xc1, 0x27, 0x52, 0x4a, 0xb7, 0x3e, 0xd1, 0x07, 0xc4, 0xe3, 0x91, 0x20, 0x5a, 0x6d, 0x72, 0x03,
0x18, 0xe9, 0xb0, 0x0f, 0xd8, 0x07, 0xfa, 0x04, 0xb2, 0x74, 0x44, 0x89, 0xda, 0xe0, 0xd4, 0x75,
0xdb, 0xd6, 0x9c, 0x31, 0xdd, 0x49, 0xf1, 0x06, 0x64, 0x3c, 0xf9, 0xe8, 0x1c, 0xa4, 0x74, 0xed,
0x99, 0xac, 0x76, 0x9b, 0xf8, 0x98, 0xeb, 0x22, 0xa9, 0x6b, 0xcf, 0xaa, 0x24, 0x2d, 0xae, 0x41,
0x82, 0x75, 0xab, 0x05, 0x48, 0x18, 0xa6, 0xa2, 0x5b, 0xda, 0x62, 0x09, 0x94, 0x83, 0x38, 0xee,
0xb2, 0xfa, 0xc4, 0x25, 0xf2, 0x29, 0x3e, 0x82, 0x8c, 0xc7, 0xde, 0x50, 0x15, 0xb2, 0xfb, 0x5a,
0x9f, 0xba, 0x5f, 0x79, 0x5f, 0x3b, 0xb6, 0x07, 0x0e, 0x31, 0x6c, 0x28, 0xe4, 0xc8, 0x1b, 0xda,
0xb1, 0x94, 0xd9, 0x77, 0x12, 0xd8, 0x10, 0x15, 0x48, 0xbb, 0x72, 0x49, 0xe1, 0xa6, 0xd6, 0xe3,
0x51, 0x1f, 0xf9, 0x24, 0x31, 0x46, 0x1b, 0x1f, 0x58, 0x21, 0x1d, 0xfd, 0x26, 0x82, 0x3f, 0x53,
0x9b, 0xe6, 0x21, 0xd5, 0x59, 0x42, 0x62, 0x09, 0xb4, 0x04, 0x53, 0x87, 0x58, 0x6d, 0x1d, 0x9a,
0xd4, 0xdf, 0x26, 0x24, 0x9e, 0x12, 0x7f, 0x73, 0x12, 0x90, 0x84, 0x9b, 0x4a, 0xc3, 0xa4, 0xb5,
0xb0, 0xc2, 0xc0, 0x25, 0x98, 0xea, 0x29, 0x3a, 0xee, 0x9a, 0xbc, 0x8f, 0xf3, 0x14, 0x69, 0x19,
0x95, 0x8d, 0x6b, 0x72, 0x83, 0x86, 0x79, 0xbc, 0x69, 0x5f, 0x8b, 0x12, 0x12, 0x4a, 0x19, 0xd5,
0x33, 0x69, 0x79, 0x0a, 0x67, 0x58, 0xbf, 0xd6, 0xa9, 0x00, 0xaa, 0xd6, 0xe5, 0x4c, 0x49, 0xf8,
0x4e, 0x54, 0xf6, 0x71, 0xa8, 0xbd, 0xf9, 0x05, 0x5e, 0xe5, 0x09, 0xce, 0x87, 0x97, 0xb7, 0xa8,
0x06, 0x40, 0x0d, 0xf4, 0x06, 0xe4, 0xac, 0x69, 0x85, 0x3d, 0x26, 0x4f, 0xd1, 0xd1, 0x74, 0x96,
0xc3, 0xad, 0xf0, 0x10, 0x15, 0xdd, 0x21, 0xcd, 0xf4, 0x38, 0x21, 0x8d, 0x13, 0xd0, 0xe4, 0xbf,
0x27, 0xc0, 0x42, 0x90, 0x7c, 0xe8, 0xe3, 0xf1, 0xa3, 0x5b, 0x12, 0x29, 0xd9, 0x23, 0xf1, 0x35,
0xe2, 0x6a, 0x09, 0x4b, 0x59, 0x69, 0xb7, 0x65, 0x13, 0x1f, 0x33, 0x4b, 0x48, 0x12, 0x9f, 0xc7,
0x32, 0x0a, 0xed, 0x76, 0x1d, 0x1f, 0x9b, 0x64, 0xac, 0x71, 0x2b, 0xb9, 0xad, 0xe9, 0xbc, 0x4b,
0x9d, 0x0f, 0x1d, 0x22, 0xda, 0x9a, 0x4e, 0x3c, 0xb1, 0x2d, 0x71, 0x5b, 0xd3, 0x37, 0x92, 0x30,
0x65, 0x2a, 0x7a, 0x0b, 0x9b, 0x62, 0x11, 0x12, 0x14, 0x44, 0x8c, 0x52, 0xc7, 0x4d, 0x2a, 0x7d,
0x4c, 0x22, 0x9f, 0xc4, 0x00, 0x5b, 0x3a, 0xc6, 0xcc, 0xed, 0xc7, 0x24, 0x96, 0x20, 0xa6, 0xba,
0x6f, 0x45, 0x9a, 0x31, 0x89, 0x7e, 0x8b, 0xff, 0x44, 0x80, 0x79, 0x4f, 0x5b, 0x1a, 0x3d, 0xad,
0x6b, 0x60, 0x32, 0xd2, 0xb0, 0x82, 0x71, 0x53, 0xa6, 0x4d, 0x48, 0xd9, 0xcf, 0x58, 0x95, 0xc2,
0x4d, 0x8a, 0x4e, 0xd0, 0xf0, 0xb1, 0xa9, 0x33, 0x3c, 0xbb, 0xf6, 0x29, 0x29, 0x63, 0x43, 0x69,
0xdd, 0x5d, 0x36, 0xab, 0xd3, 0x60, 0x6c, 0xd4, 0xf0, 0xe1, 0x0e, 0xdc, 0x6c, 0x9b, 0x65, 0x49,
0xf1, 0xff, 0xc6, 0x60, 0xb9, 0x84, 0xd5, 0x26, 0xee, 0x9a, 0xea, 0xc1, 0x09, 0x6f, 0xef, 0x51,
0xbd, 0xa6, 0x0e, 0x73, 0x4d, 0x9b, 0xc6, 0xdb, 0x71, 0x42, 0x47, 0x1c, 0x77, 0x19, 0xc4, 0x96,
0x73, 0x4d, 0x1f, 0x24, 0xa0, 0x2f, 0xc6, 0x4f, 0xdf, 0x17, 0xdf, 0x83, 0x49, 0x6a, 0xe3, 0x2c,
0x1a, 0x13, 0x87, 0x07, 0x0e, 0xd4, 0xbe, 0x29, 0x3e, 0x5a, 0x87, 0x45, 0x4b, 0x08, 0x13, 0x77,
0x7a, 0x6d, 0x12, 0x96, 0xd1, 0xd8, 0x20, 0x41, 0x35, 0x30, 0xcf, 0x33, 0xeb, 0x3c, 0x8f, 0x46,
0x08, 0xef, 0xc3, 0xb2, 0x4b, 0x1d, 0x5e, 0xb2, 0x29, 0x4a, 0xb6, 0xe4, 0xe4, 0xbb, 0x29, 0xc5,
0x5f, 0x12, 0xe0, 0x6c, 0x80, 0xf6, 0xb9, 0xd9, 0x58, 0x75, 0x10, 0xc6, 0xac, 0x43, 0x15, 0x92,
0xda, 0x53, 0xac, 0x3f, 0x55, 0xf1, 0x33, 0xde, 0x2a, 0x37, 0xc3, 0x06, 0x1a, 0x5d, 0xe9, 0x1a,
0x07, 0x9a, 0xde, 0xa1, 0xae, 0x7e, 0x87, 0x13, 0x49, 0x36, 0x39, 0x35, 0x0f, 0xe9, 0x14, 0xe6,
0xa1, 0x3f, 0xb7, 0x79, 0xe8, 0x3f, 0x4a, 0xe6, 0xa1, 0x8f, 0x30, 0x0f, 0x3d, 0xdc, 0x3c, 0xa4,
0x1f, 0x66, 0xf3, 0xf8, 0x13, 0x01, 0x16, 0x1d, 0x3d, 0x47, 0xb1, 0x8d, 0x17, 0x3a, 0xe0, 0x5a,
0x1a, 0x88, 0xbf, 0xa8, 0x56, 0x9c, 0x0c, 0x6d, 0x45, 0xf1, 0x3e, 0x2c, 0xf9, 0x6b, 0xca, 0xdb,
0xe1, 0x23, 0x98, 0xe2, 0x7e, 0x58, 0x18, 0xc3, 0x0f, 0x73, 0x1a, 0xf1, 0x0f, 0x63, 0x30, 0xbf,
0xd3, 0x37, 0x7b, 0x7d, 0xb3, 0xc6, 0x96, 0x7f, 0x79, 0xdd, 0x3e, 0xb2, 0x96, 0x2c, 0x86, 0x33,
0xdd, 0x50, 0x5b, 0xf7, 0xfa, 0x58, 0x3f, 0xf1, 0x2d, 0x5d, 0x7c, 0x06, 0x19, 0x8d, 0x32, 0x95,
0x8d, 0xc6, 0x21, 0xee, 0x28, 0x7c, 0x5a, 0xfb, 0xb5, 0x10, 0x2e, 0x01, 0x02, 0x58, 0x30, 0x4a,
0x2e, 0xcd, 0x68, 0xae, 0x94, 0xf8, 0x73, 0x02, 0xcc, 0xb8, 0xb3, 0xd1, 0x05, 0x38, 0xbb, 0xb3,
0x57, 0xdf, 0xdd, 0xab, 0xcb, 0xb5, 0x62, 0xa5, 0xbc, 0x55, 0xf0, 0xad, 0xfe, 0xcc, 0x41, 0x66,
0xa3, 0x50, 0xab, 0x16, 0xe5, 0xe2, 0xce, 0xe6, 0xde, 0xd6, 0x76, 0x2d, 0x27, 0xa0, 0x59, 0x48,
0xdf, 0x29, 0xd6, 0x6c, 0x40, 0x0c, 0x2d, 0xc2, 0x5c, 0xa9, 0x50, 0x2f, 0xd4, 0xea, 0x3b, 0x52,
0xd9, 0x06, 0xc7, 0x09, 0x78, 0xa3, 0x7a, 0x47, 0xbe, 0xb7, 0x57, 0x96, 0x1e, 0xda, 0xe0, 0x49,
0x42, 0x5e, 0xd8, 0xdc, 0xb4, 0x01, 0x89, 0x8d, 0x29, 0xb6, 0xc6, 0x25, 0x36, 0x9c, 0x15, 0xb7,
0x9a, 0xa9, 0x98, 0xc6, 0x73, 0xae, 0xb8, 0x2d, 0x40, 0xa2, 0xa1, 0xf5, 0xbb, 0x26, 0x8f, 0x90,
0x59, 0x42, 0xfc, 0xee, 0x24, 0x2c, 0xf3, 0xd6, 0x2c, 0x29, 0xa6, 0x52, 0xd3, 0xfa, 0x7a, 0x03,
0x97, 0xb0, 0xa9, 0xa8, 0x6d, 0x03, 0x75, 0x88, 0xf7, 0xa3, 0x9d, 0x00, 0x37, 0xed, 0x05, 0x54,
0x66, 0xe4, 0x23, 0x16, 0x1a, 0x07, 0x78, 0xad, 0x4a, 0x16, 0x23, 0xbe, 0x98, 0x4a, 0xdc, 0xa2,
0x17, 0x82, 0xb6, 0x6d, 0xeb, 0x63, 0xbd, 0xe0, 0xbd, 0xf1, 0xcb, 0x70, 0xdb, 0x63, 0xfe, 0x77,
0x05, 0xc8, 0xf9, 0x8b, 0x45, 0xfb, 0x70, 0xd6, 0xe8, 0x2a, 0x3d, 0xe3, 0x50, 0x33, 0x65, 0x7f,
0xcf, 0xe1, 0x4a, 0xbd, 0x32, 0xbc, 0x5c, 0xab, 0x2f, 0x49, 0x67, 0x2c, 0x46, 0xbe, 0x0c, 0x74,
0x1b, 0xe0, 0xb1, 0xb6, 0xef, 0xf5, 0xed, 0x57, 0x87, 0x33, 0xbd, 0xab, 0xed, 0x73, 0xc7, 0x90,
0x7a, 0x6c, 0x7d, 0xe6, 0x7f, 0x43, 0x80, 0x29, 0xbe, 0x48, 0x75, 0x15, 0x66, 0x7b, 0xba, 0xd6,
0xc0, 0x86, 0x81, 0x9b, 0x32, 0x09, 0x5f, 0x0d, 0x3e, 0xfb, 0xc9, 0xda, 0x60, 0xba, 0x7c, 0x49,
0x1c, 0x82, 0xa9, 0x99, 0x4a, 0x5b, 0xc6, 0x86, 0xa9, 0x76, 0x14, 0xd3, 0x46, 0x67, 0xcd, 0x3e,
0x4f, 0x33, 0xcb, 0x56, 0x1e, 0xa3, 0xd9, 0x84, 0x59, 0xdb, 0xb0, 0x64, 0x83, 0xd8, 0x1a, 0x5f,
0x4e, 0x7e, 0x6d, 0x84, 0x79, 0x51, 0xbb, 0x24, 0xae, 0xcc, 0x95, 0x14, 0xbf, 0x23, 0xc0, 0xbc,
0x85, 0x50, 0xc2, 0x46, 0x43, 0x57, 0xa9, 0xea, 0x49, 0x98, 0xe9, 0x5a, 0x9a, 0xa0, 0xdf, 0xe8,
0x55, 0x98, 0x69, 0xaa, 0x46, 0xaf, 0xad, 0x9c, 0x30, 0xaf, 0xc5, 0xa2, 0xc4, 0x34, 0x87, 0xd1,
0x31, 0x67, 0x0b, 0x66, 0x8c, 0x7e, 0xaf, 0xa7, 0xe9, 0xac, 0x2a, 0x54, 0xb2, 0xec, 0xfa, 0xca,
0x28, 0xc9, 0x2c, 0x92, 0x8d, 0x13, 0x29, 0x6d, 0x38, 0x09, 0xb1, 0x06, 0x0b, 0x9b, 0xaa, 0x61,
0xda, 0x7b, 0x04, 0x96, 0x97, 0xbf, 0x0c, 0x99, 0xb6, 0xd2, 0x6d, 0xf5, 0xc9, 0xa4, 0xa7, 0xa1,
0x35, 0x2d, 0x31, 0x67, 0x2c, 0x60, 0x51, 0x6b, 0x62, 0x32, 0x14, 0x1c, 0xa8, 0x6d, 0x13, 0xeb,
0x5c, 0x50, 0x9e, 0x12, 0xf7, 0x61, 0xd1, 0xc7, 0x94, 0x3b, 0xd4, 0x6a, 0xc0, 0xe6, 0xcf, 0x28,
0xd1, 0x5d, 0x3a, 0x73, 0xed, 0x03, 0x89, 0xff, 0x43, 0x80, 0x45, 0x49, 0x35, 0x8e, 0x0a, 0x5d,
0xa5, 0x7d, 0x62, 0xa8, 0x86, 0x6d, 0x31, 0x64, 0x20, 0xe2, 0xac, 0xe4, 0x0e, 0x36, 0x75, 0xb5,
0x31, 0xc2, 0xd1, 0xee, 0xb2, 0xe4, 0x16, 0xc5, 0x95, 0x32, 0x3d, 0x77, 0x12, 0xdd, 0x81, 0x19,
0x83, 0x76, 0x2a, 0x99, 0xf9, 0xec, 0x58, 0x74, 0x9f, 0x2d, 0xa5, 0x19, 0x25, 0x5b, 0x14, 0xfe,
0x1a, 0x4c, 0xb3, 0xf9, 0x89, 0x65, 0x4c, 0x17, 0x42, 0x78, 0x14, 0x28, 0x96, 0x64, 0x61, 0x8b,
0x7f, 0x24, 0xc0, 0xf4, 0xbd, 0xbe, 0x62, 0xa8, 0xd5, 0x26, 0x7a, 0x07, 0x12, 0x74, 0xe5, 0x81,
0xd7, 0x68, 0xd4, 0x32, 0x05, 0x43, 0xf6, 0x4e, 0xde, 0x62, 0xe3, 0x4f, 0xde, 0x2e, 0x02, 0xf0,
0x9d, 0x28, 0x53, 0x69, 0xd9, 0x0b, 0xf0, 0x29, 0x06, 0xab, 0x2b, 0x2d, 0xf4, 0x0e, 0x10, 0x64,
0xac, 0x93, 0xe9, 0x15, 0x8b, 0xbb, 0x96, 0x06, 0x16, 0x91, 0xca, 0x9d, 0x9e, 0x79, 0xc2, 0xd9,
0x52, 0xcc, 0x8d, 0x04, 0xc4, 0x4d, 0xa5, 0x25, 0xfe, 0x71, 0x0c, 0x72, 0xa4, 0xa7, 0xa8, 0x86,
0xa9, 0x36, 0x94, 0x36, 0xd3, 0xd6, 0x2d, 0x6b, 0x8c, 0x8c, 0x8f, 0xa1, 0x6f, 0x3e, 0x42, 0x3e,
0x84, 0xd4, 0x13, 0xa2, 0x2f, 0x59, 0x6d, 0x5a, 0x36, 0xf6, 0x51, 0x08, 0xbd, 0xbf, 0xdc, 0x55,
0xae, 0x68, 0x1a, 0x96, 0xa9, 0x58, 0xa7, 0x8a, 0x94, 0x92, 0x4f, 0x18, 0xd4, 0x40, 0x5b, 0x80,
0x74, 0xdc, 0x56, 0x4c, 0xf5, 0x29, 0x96, 0x0f, 0xa8, 0xc3, 0xee, 0x36, 0x4e, 0x22, 0xae, 0x19,
0xcd, 0x59, 0x94, 0xb7, 0x2d, 0xc2, 0xfc, 0x11, 0x2c, 0x04, 0x15, 0x78, 0xca, 0x66, 0xbe, 0xe0,
0x69, 0x26, 0xd6, 0x23, 0x9d, 0x46, 0x12, 0xff, 0x64, 0x0e, 0x32, 0x1e, 0x53, 0x47, 0x4f, 0x60,
0xa9, 0xdb, 0xef, 0x60, 0x9d, 0x54, 0x9f, 0xf9, 0x39, 0xcb, 0x47, 0xb3, 0x72, 0x3f, 0x88, 0xd2,
0x61, 0x56, 0xb7, 0x2d, 0x16, 0xd4, 0xdd, 0xb1, 0x3e, 0x58, 0x99, 0x90, 0x16, 0xba, 0x01, 0x70,
0xf4, 0x0c, 0x96, 0x1b, 0x8a, 0x89, 0x5b, 0x5a, 0x40, 0xa1, 0x4c, 0x8d, 0x1f, 0x46, 0x2a, 0xb4,
0xe8, 0x30, 0xf1, 0x16, 0xbb, 0xd4, 0x08, 0xcc, 0x41, 0x18, 0xd0, 0x91, 0xac, 0x74, 0xb5, 0xee,
0x49, 0x47, 0x35, 0x4f, 0xbc, 0x63, 0xd1, 0xbb, 0x91, 0x8a, 0xfc, 0xa4, 0x60, 0x51, 0xdb, 0x85,
0xe5, 0x8e, 0x7c, 0x30, 0x52, 0x4c, 0x5b, 0x6e, 0xaa, 0x74, 0x19, 0xd4, 0x29, 0x66, 0x72, 0x8c,
0x62, 0x36, 0x4b, 0x16, 0xb5, 0x53, 0x4c, 0xdb, 0x07, 0x43, 0x3a, 0x9c, 0x39, 0x92, 0x3b, 0x4a,
0xcf, 0x1a, 0xd5, 0x9c, 0x05, 0x29, 0xbe, 0x3c, 0x1c, 0xad, 0xe9, 0x3e, 0xd9, 0x52, 0x7a, 0x65,
0x9b, 0x83, 0xd3, 0x74, 0x47, 0x01, 0x70, 0xf4, 0xa5, 0x00, 0x97, 0x9a, 0xb8, 0x6d, 0x2a, 0x72,
0x4f, 0xc7, 0x06, 0xee, 0x36, 0x70, 0x40, 0xe9, 0x6c, 0x09, 0x79, 0x23, 0x52, 0xe9, 0x25, 0xc2,
0x6c, 0x97, 0xf3, 0x0a, 0x10, 0xe3, 0x42, 0x73, 0x18, 0x42, 0x7e, 0x13, 0x16, 0x82, 0x4c, 0xef,
0x74, 0x9d, 0x27, 0xbf, 0x0d, 0x4b, 0xc1, 0x36, 0x75, 0x4a, 0x7e, 0x5f, 0x0a, 0x90, 0xf3, 0x5b,
0x0c, 0xfa, 0x70, 0xd0, 0x33, 0x8d, 0x62, 0xe7, 0xf8, 0x9e, 0x8f, 0x20, 0x45, 0xbc, 0x84, 0x79,
0xe2, 0x2c, 0x53, 0x87, 0x79, 0xf1, 0x32, 0xc5, 0x23, 0xd4, 0x98, 0x7f, 0xe5, 0x7f, 0x59, 0x80,
0x9c, 0xdf, 0xb4, 0x9e, 0x4f, 0x9e, 0x1d, 0x98, 0x37, 0x70, 0xd7, 0x50, 0xa9, 0x33, 0x54, 0x4c,
0x53, 0x57, 0xf7, 0xfb, 0x26, 0x8e, 0xe8, 0x0c, 0x91, 0x4d, 0x5a, 0xb0, 0x28, 0xf3, 0x5f, 0x4d,
0xc1, 0x42, 0x90, 0x45, 0xa2, 0xfd, 0x41, 0x31, 0xcb, 0xa7, 0xb6, 0xef, 0xd5, 0xba, 0xd2, 0x6a,
0xe1, 0xa6, 0xdf, 0xb3, 0x5f, 0x84, 0xb4, 0x8e, 0x5b, 0xcc, 0x92, 0x9b, 0x56, 0xe0, 0x05, 0x0c,
0x44, 0x63, 0x1d, 0x03, 0x72, 0x4a, 0xff, 0x58, 0x6d, 0xab, 0x8a, 0x7e, 0xc2, 0x62, 0x01, 0x6b,
0x20, 0xaf, 0x9c, 0x5e, 0x96, 0x82, 0xc5, 0x91, 0x0d, 0x60, 0xb3, 0x8a, 0x27, 0x6d, 0xe4, 0xff,
0xab, 0x00, 0x69, 0x97, 0xbc, 0x3f, 0x8a, 0xe3, 0x7f, 0xfe, 0x7f, 0xc7, 0x20, 0xeb, 0xd5, 0xc3,
0x73, 0x8d, 0xfe, 0xfa, 0xa0, 0xb1, 0xec, 0xbd, 0xa8, 0x06, 0xb2, 0xc2, 0x83, 0x97, 0x1c, 0x16,
0x34, 0x60, 0xc6, 0x5d, 0xd0, 0x4b, 0x09, 0x07, 0xf2, 0xdf, 0x13, 0xe0, 0xc2, 0x50, 0x0f, 0x3c,
0x8e, 0x77, 0xe0, 0xe2, 0x8e, 0xd3, 0x9f, 0xa4, 0xd0, 0xfe, 0x74, 0x35, 0x62, 0xb0, 0x36, 0xd0,
0x5d, 0xec, 0xa5, 0x82, 0x9f, 0xbf, 0x02, 0xe7, 0xe9, 0xbc, 0xe0, 0x0b, 0xec, 0xcc, 0x8a, 0xc9,
0x64, 0xc1, 0x9a, 0xc9, 0x7f, 0x0e, 0xcb, 0xce, 0x4c, 0xfe, 0x39, 0x26, 0x0b, 0x4b, 0x36, 0x17,
0x6f, 0x64, 0xf5, 0x08, 0x9c, 0x1c, 0xf9, 0xd4, 0xf3, 0x87, 0x05, 0x9b, 0x47, 0xcd, 0x35, 0x91,
0xf8, 0xa6, 0x30, 0x18, 0xb6, 0x79, 0xd6, 0x09, 0xc2, 0xfc, 0xd1, 0x30, 0x8d, 0xf8, 0xa2, 0x38,
0x36, 0xcb, 0x1e, 0x8c, 0xe2, 0xf8, 0xec, 0xfb, 0xaf, 0x0a, 0x41, 0x61, 0x1c, 0x17, 0x82, 0x39,
0x80, 0xbb, 0xa7, 0x11, 0xc2, 0x3f, 0x02, 0xdb, 0x62, 0x0c, 0x44, 0x75, 0x5c, 0x10, 0xd3, 0x1b,
0xd5, 0x71, 0x09, 0x58, 0x08, 0x54, 0x3a, 0x8d, 0x04, 0xce, 0x90, 0x6d, 0x97, 0xed, 0x0a, 0xf2,
0x9c, 0x52, 0xdd, 0x41, 0x1e, 0x2f, 0x75, 0xea, 0xf4, 0xa5, 0x3a, 0x03, 0xb3, 0x53, 0x6a, 0xdb,
0x07, 0x43, 0x3f, 0x2d, 0x04, 0x04, 0x7d, 0xbc, 0xec, 0xe9, 0xd3, 0x37, 0xbc, 0xd7, 0xed, 0x39,
0x0d, 0x7f, 0x14, 0x00, 0x47, 0xbf, 0x38, 0x34, 0x06, 0xe4, 0xc2, 0xa4, 0xa8, 0x30, 0xf7, 0x4e,
0x23, 0x4c, 0x88, 0x43, 0xb2, 0xa5, 0x0a, 0x0b, 0x09, 0x19, 0x42, 0xfe, 0xfb, 0x82, 0x3f, 0x26,
0xe4, 0x72, 0x7f, 0x00, 0xa9, 0x8e, 0xda, 0x95, 0xd9, 0x09, 0xb2, 0xe1, 0x87, 0x5f, 0xd8, 0xe9,
0xa8, 0x64, 0x47, 0xed, 0xd2, 0x2f, 0x4a, 0xaa, 0x1c, 0x73, 0xd2, 0x58, 0x24, 0x52, 0xe5, 0x98,
0x91, 0x96, 0x61, 0xf6, 0x49, 0x5f, 0xe9, 0x9a, 0x6a, 0x1b, 0xcb, 0xfc, 0x64, 0xd6, 0x64, 0x84,
0x93, 0x59, 0x59, 0x8b, 0x88, 0x26, 0x8d, 0xfc, 0x97, 0x93, 0x83, 0xb1, 0x29, 0xaf, 0xd7, 0x6f,
0x0a, 0xf0, 0x2a, 0xe5, 0xec, 0x0c, 0x3b, 0xf2, 0xa1, 0x6a, 0x98, 0x5a, 0x4b, 0x57, 0x3a, 0xf2,
0x7e, 0xbf, 0x71, 0x84, 0x4d, 0x6b, 0x8b, 0xfa, 0xf1, 0x8b, 0xeb, 0x91, 0x03, 0xe0, 0x8a, 0x55,
0xe6, 0x06, 0x2d, 0x52, 0x7a, 0x85, 0x0a, 0x65, 0x8f, 0x68, 0xbe, 0x6c, 0x23, 0xff, 0x2f, 0x62,
0x70, 0x71, 0x04, 0x0f, 0xf4, 0x75, 0x38, 0xe7, 0xaf, 0x5a, 0x5b, 0x7b, 0x86, 0x75, 0x99, 0x9e,
0x3c, 0xe0, 0xcb, 0x7d, 0xcb, 0xde, 0x82, 0x36, 0x09, 0x02, 0x3d, 0x88, 0x10, 0x44, 0xde, 0xef,
0xf5, 0x6c, 0xf2, 0x58, 0x10, 0xf9, 0x1e, 0x41, 0x60, 0xe4, 0x17, 0x21, 0xcd, 0xd4, 0x27, 0x1b,
0xea, 0x17, 0x2c, 0x10, 0x89, 0x4b, 0xc0, 0x40, 0x35, 0xf5, 0x0b, 0x8c, 0xee, 0x42, 0x86, 0x23,
0x78, 0x9a, 0xf6, 0xf5, 0x61, 0x4d, 0x6b, 0x17, 0x24, 0xcd, 0x30, 0x5a, 0xd6, 0xc2, 0xe8, 0x06,
0x20, 0x37, 0x2f, 0x99, 0x2d, 0x4c, 0x27, 0x68, 0x99, 0x39, 0x17, 0x66, 0x91, 0xc0, 0xf3, 0x5f,
0x25, 0xdc, 0x53, 0x0b, 0x6e, 0x09, 0xbf, 0x2e, 0xc0, 0x65, 0xfc, 0xa4, 0xaf, 0x3e, 0x55, 0xda,
0xb4, 0x5b, 0x36, 0xda, 0x8a, 0x61, 0x84, 0xda, 0xc2, 0xe7, 0x2f, 0xc2, 0x37, 0xba, 0x00, 0xfe,
0xf6, 0xbf, 0xe4, 0x12, 0xa5, 0x48, 0x24, 0x19, 0xb0, 0x80, 0x5f, 0x10, 0x20, 0xef, 0xd0, 0x97,
0x7d, 0xe8, 0xe8, 0x36, 0xe4, 0xec, 0xd8, 0x43, 0x1e, 0xe3, 0x54, 0x63, 0xd6, 0x0a, 0x40, 0xb8,
0x66, 0xdf, 0x81, 0xa5, 0x41, 0xad, 0xd0, 0x16, 0x65, 0x06, 0xb0, 0xe0, 0x17, 0x94, 0xb4, 0x6d,
0xfe, 0x67, 0xe3, 0x70, 0x36, 0xb4, 0x72, 0xe8, 0x2e, 0x88, 0xc1, 0x3c, 0x03, 0xec, 0xf3, 0x95,
0x20, 0xfe, 0x2e, 0x2b, 0x0d, 0xe7, 0x35, 0x68, 0xac, 0x81, 0xbc, 0xc6, 0x31, 0xd9, 0xbf, 0x2c,
0x04, 0xdb, 0xac, 0xfc, 0x82, 0xad, 0xc1, 0xdf, 0x9a, 0xcf, 0x65, 0xed, 0x7f, 0x7f, 0xda, 0x3d,
0x71, 0xe5, 0xd6, 0xfe, 0x3b, 0x02, 0x5c, 0x77, 0x26, 0x9f, 0x51, 0x3d, 0xe0, 0xe7, 0x2f, 0x62,
0x6c, 0x76, 0x01, 0xfc, 0x56, 0x7f, 0xd5, 0x16, 0xe9, 0xfe, 0x70, 0xf7, 0xf7, 0x5b, 0x31, 0xc8,
0x3b, 0x6c, 0x7e, 0xb8, 0x8c, 0x1f, 0x15, 0xe0, 0x42, 0xb7, 0xdf, 0x91, 0x9b, 0x24, 0xd4, 0xee,
0x36, 0x4c, 0xd9, 0xa7, 0x67, 0x83, 0x1b, 0x56, 0xbe, 0xdb, 0xef, 0x94, 0x38, 0x4e, 0xcd, 0x53,
0x6f, 0x03, 0x3d, 0x80, 0x05, 0x53, 0xeb, 0x0d, 0x52, 0x8e, 0xe5, 0x22, 0x91, 0xa9, 0xf5, 0x7c,
0x8c, 0xf3, 0xdf, 0x8a, 0xc3, 0xd9, 0x50, 0xfd, 0xa3, 0x5d, 0x78, 0x3d, 0xdc, 0x28, 0x06, 0xfb,
0xe6, 0xab, 0x21, 0xcd, 0xe5, 0xea, 0x9e, 0x43, 0x39, 0x0e, 0xf6, 0xd0, 0x30, 0x8e, 0x7f, 0x6e,
0x9d, 0x74, 0x88, 0xf1, 0xbe, 0xd0, 0x4e, 0xfa, 0x8b, 0x09, 0xff, 0xd2, 0x0d, 0xef, 0xa8, 0xbf,
0x22, 0x40, 0x7e, 0x20, 0x68, 0xb5, 0xfb, 0x27, 0xb7, 0xea, 0x83, 0x17, 0x15, 0xb7, 0xfa, 0x80,
0xfe, 0xfe, 0x79, 0xe6, 0x28, 0x38, 0x3b, 0xff, 0xb7, 0x04, 0x38, 0xe7, 0x25, 0xe5, 0x13, 0x5a,
0xae, 0x8c, 0x17, 0xd5, 0x21, 0xd7, 0x60, 0xde, 0xd9, 0x86, 0xb4, 0xa7, 0x2d, 0xdc, 0x78, 0x90,
0x9d, 0x65, 0x3b, 0xd2, 0xfc, 0xbf, 0x8e, 0xc1, 0x85, 0xa1, 0x75, 0x42, 0x97, 0x21, 0x43, 0x22,
0x5b, 0x87, 0x19, 0xb3, 0xed, 0x99, 0x8e, 0xda, 0xb5, 0xd9, 0x50, 0x24, 0xe5, 0x78, 0xa0, 0xc4,
0x99, 0x8e, 0x72, 0xec, 0x20, 0xf9, 0x2c, 0x33, 0x31, 0x60, 0x99, 0x3f, 0x3b, 0x60, 0x99, 0xec,
0x36, 0x52, 0xf3, 0x25, 0x35, 0x9f, 0xa7, 0x0d, 0x22, 0x99, 0xe7, 0x74, 0x88, 0x79, 0xfe, 0x59,
0x22, 0x74, 0xad, 0x83, 0xdb, 0xe9, 0x1f, 0x08, 0x70, 0x39, 0x7c, 0x62, 0xe3, 0x37, 0xd8, 0xe3,
0x17, 0x3e, 0xb7, 0x09, 0xcb, 0x1d, 0x08, 0xac, 0x9a, 0x23, 0xf0, 0xf2, 0xbf, 0x22, 0xc0, 0x6b,
0x21, 0xcc, 0x5e, 0x8e, 0x51, 0xbf, 0x0d, 0x8b, 0x8e, 0x51, 0xf7, 0x74, 0x6d, 0x5f, 0xd9, 0x57,
0xdb, 0x96, 0x91, 0x09, 0xd2, 0x82, 0x9d, 0xb9, 0xeb, 0xe4, 0xe5, 0xff, 0x67, 0x0c, 0xae, 0x44,
0xab, 0x32, 0xba, 0x0a, 0xb3, 0xc4, 0xc2, 0xdd, 0x9c, 0x05, 0xca, 0x39, 0xdb, 0x51, 0xbb, 0x2e,
0x9e, 0x14, 0x51, 0x39, 0x0e, 0x10, 0x21, 0xdb, 0x51, 0x8e, 0xdd, 0x88, 0x23, 0x2d, 0xfd, 0x3b,
0x21, 0x96, 0xfe, 0xf4, 0xff, 0x5b, 0xbb, 0xbf, 0x30, 0xdb, 0xdf, 0x48, 0x5a, 0xa7, 0x48, 0xc4,
0x47, 0x90, 0xf5, 0x0e, 0x4b, 0x68, 0xdd, 0xba, 0x54, 0x15, 0x65, 0x4a, 0xcc, 0x2f, 0x5c, 0x05,
0x9f, 0x9b, 0xf9, 0xa5, 0x38, 0x24, 0xd8, 0xa4, 0xf7, 0x75, 0xc8, 0xa8, 0x5d, 0x13, 0xb7, 0xb0,
0xee, 0x9a, 0x6e, 0xc7, 0x2b, 0x13, 0xd2, 0x0c, 0x07, 0x33, 0xb4, 0x57, 0x21, 0x7d, 0xd0, 0xd6,
0x14, 0xd3, 0x35, 0xb1, 0x16, 0x2a, 0x13, 0x12, 0x50, 0x20, 0x43, 0xb9, 0x0c, 0x33, 0x86, 0xa9,
0xab, 0xdd, 0x96, 0xec, 0xbd, 0xf9, 0x95, 0x66, 0x50, 0xbb, 0xb8, 0x7d, 0x4d, 0x6b, 0x63, 0xc5,
0x9a, 0xdd, 0x4f, 0xf2, 0x63, 0xc5, 0x33, 0x1c, 0x6c, 0x4f, 0xc5, 0xed, 0x7b, 0x0e, 0x1c, 0x31,
0x31, 0xea, 0xb6, 0x43, 0x65, 0x42, 0xca, 0xda, 0x44, 0x8c, 0xcd, 0xd7, 0x00, 0x08, 0x84, 0x73,
0x98, 0xf2, 0x2e, 0x75, 0x9b, 0x27, 0x3d, 0x4c, 0xa9, 0x77, 0x0e, 0x4a, 0xca, 0x49, 0x65, 0x42,
0x4a, 0x11, 0x5c, 0x46, 0xb8, 0x0e, 0xd0, 0x54, 0x4c, 0x8b, 0x90, 0x2d, 0xd7, 0xcc, 0x79, 0x08,
0x4b, 0x8a, 0x89, 0x09, 0x0d, 0x41, 0x63, 0x34, 0x45, 0x98, 0x6b, 0x2a, 0x27, 0xb2, 0x76, 0x20,
0x3f, 0xc3, 0xf8, 0x88, 0x93, 0x26, 0xe9, 0x69, 0xaf, 0x25, 0x1f, 0xe9, 0xc9, 0xce, 0xc1, 0x03,
0x8c, 0x8f, 0x88, 0xc4, 0x4d, 0x2b, 0x41, 0x99, 0xd8, 0x4b, 0xa2, 0x3f, 0x0e, 0x29, 0xfb, 0x92,
0x10, 0xfa, 0x98, 0xde, 0x5b, 0xe3, 0xb7, 0x92, 0x86, 0x6f, 0x08, 0x94, 0xf8, 0x75, 0xa4, 0xca,
0x84, 0x94, 0x6c, 0xf2, 0xef, 0x8d, 0x2c, 0xcc, 0xf4, 0x14, 0xdd, 0xc0, 0x4d, 0x76, 0xd9, 0x55,
0xfc, 0xeb, 0x31, 0x48, 0x5a, 0x88, 0xe8, 0x75, 0x7a, 0x9b, 0xd0, 0xb2, 0xa9, 0xc1, 0x4a, 0xd2,
0x0b, 0x86, 0x18, 0xbd, 0x07, 0x69, 0x57, 0xed, 0xf8, 0x25, 0xde, 0x90, 0x7a, 0x11, 0xad, 0xf0,
0x4f, 0xb4, 0x02, 0x93, 0x54, 0xec, 0xf8, 0x30, 0xe5, 0x4b, 0x14, 0x07, 0x95, 0x81, 0x36, 0x81,
0xfc, 0x85, 0xd6, 0xb5, 0x2e, 0x08, 0x5e, 0x1b, 0x51, 0x4f, 0xca, 0xe3, 0x91, 0xd6, 0xc5, 0x52,
0xd2, 0xe4, 0x5f, 0xf9, 0xb7, 0x20, 0x69, 0x41, 0xd1, 0xeb, 0x90, 0x65, 0x77, 0x53, 0xe4, 0x8e,
0xda, 0xed, 0x5b, 0xe7, 0x8e, 0x12, 0x52, 0x86, 0x41, 0xb7, 0x18, 0x50, 0xfc, 0x33, 0x01, 0x72,
0xfe, 0x93, 0xaf, 0xa8, 0x0d, 0x67, 0x9d, 0x73, 0x45, 0xa6, 0xe7, 0x04, 0xa6, 0xc1, 0xd5, 0xb5,
0x3a, 0x62, 0x5f, 0xc6, 0x7b, 0x6e, 0xd3, 0xa8, 0x4c, 0x48, 0x67, 0xd4, 0xe0, 0x2c, 0x84, 0x61,
0x89, 0x5f, 0x8b, 0xf1, 0x17, 0xc5, 0x5a, 0xfc, 0xc6, 0xd0, 0x2b, 0x32, 0x83, 0x05, 0x2d, 0xea,
0x41, 0x19, 0x1b, 0x39, 0xc8, 0x7a, 0xf9, 0x8b, 0x3f, 0x98, 0x86, 0x33, 0xbb, 0xba, 0xda, 0xa1,
0x81, 0xb0, 0x17, 0x1d, 0x49, 0x90, 0xd5, 0x71, 0xaf, 0xad, 0x90, 0xe9, 0x88, 0xfb, 0xa8, 0xc1,
0x1b, 0xa1, 0xc2, 0x50, 0x64, 0xee, 0xcf, 0xf8, 0xc6, 0x70, 0x86, 0xb3, 0xe0, 0x6a, 0xbd, 0x0b,
0xfc, 0xb4, 0xbd, 0xf7, 0x20, 0xc1, 0xe5, 0xa1, 0x57, 0x32, 0x6c, 0x66, 0x33, 0xba, 0x2b, 0x8d,
0xfe, 0x02, 0x2c, 0x36, 0x0e, 0x15, 0x7a, 0x24, 0x5f, 0xa7, 0x77, 0xea, 0xbd, 0x27, 0x05, 0xc2,
0xce, 0x2a, 0x15, 0x2d, 0x9a, 0x2d, 0xc5, 0x38, 0xb2, 0x59, 0xcf, 0x37, 0x06, 0xc1, 0xc8, 0x84,
0x0b, 0x0d, 0xfd, 0xa4, 0x67, 0x6a, 0xb2, 0xa5, 0x88, 0x83, 0x83, 0x63, 0xf9, 0xa0, 0x87, 0xbd,
0x87, 0x05, 0xc2, 0xee, 0xf2, 0x16, 0x29, 0x2d, 0x57, 0xcb, 0xed, 0x83, 0xe3, 0xdb, 0x3d, 0x47,
0x2f, 0x67, 0x1b, 0x61, 0x99, 0xa8, 0x07, 0xe7, 0x0e, 0xd4, 0x63, 0xdc, 0x64, 0x6b, 0x0b, 0x6c,
0x90, 0x20, 0x9e, 0xd5, 0x73, 0x68, 0x60, 0x2d, 0x74, 0x63, 0xe9, 0x18, 0x37, 0xc9, 0xc0, 0xb8,
0x61, 0xd1, 0xd9, 0x45, 0x2e, 0x1f, 0x84, 0xe4, 0xa1, 0x1a, 0xe4, 0x06, 0x8a, 0x99, 0x1a, 0x7e,
0x2d, 0x65, 0x80, 0xfb, 0xec, 0xbe, 0x8f, 0xa9, 0x09, 0x17, 0x2c, 0xad, 0x3d, 0x53, 0xcd, 0x43,
0xe7, 0xbe, 0xb7, 0x55, 0xc2, 0xf4, 0x50, 0xe5, 0x71, 0xcd, 0x3c, 0x50, 0xcd, 0x43, 0xab, 0x43,
0x39, 0xca, 0xd3, 0xc3, 0x32, 0xd1, 0x3d, 0xc8, 0x51, 0x37, 0xd2, 0x53, 0x74, 0xdb, 0xc6, 0x92,
0x43, 0x2f, 0x0a, 0x12, 0x77, 0xb1, 0xab, 0xe8, 0x8e, 0x95, 0xd1, 0x81, 0xc4, 0x81, 0xa0, 0x07,
0x80, 0xb8, 0x15, 0x1c, 0x2a, 0xc6, 0xa1, 0xc5, 0x34, 0x35, 0xf4, 0x68, 0x24, 0x6b, 0xfa, 0x8a,
0x62, 0x1c, 0x3a, 0x27, 0x43, 0x1a, 0x3e, 0x18, 0xbd, 0xc0, 0x41, 0x5c, 0xbb, 0x71, 0xa8, 0x1e,
0xd8, 0xc2, 0xa6, 0x87, 0xea, 0x9d, 0xb8, 0xbe, 0x1a, 0x41, 0x77, 0xf4, 0xde, 0xf4, 0x82, 0x02,
0x3a, 0xf9, 0x57, 0x02, 0x64, 0xbd, 0xb5, 0x44, 0xf7, 0x61, 0x96, 0x6a, 0xc8, 0xd4, 0x64, 0x7e,
0xad, 0x85, 0xdf, 0x4b, 0x5f, 0x8d, 0xa4, 0x25, 0x3b, 0x29, 0x65, 0x08, 0x9b, 0xba, 0x56, 0x66,
0x4c, 0xc4, 0x6f, 0x0a, 0xcc, 0xff, 0x92, 0x3c, 0x74, 0x16, 0x16, 0xeb, 0xd5, 0xad, 0xb2, 0xbc,
0x5b, 0x90, 0xea, 0xbe, 0xb3, 0xc8, 0x49, 0x98, 0x7c, 0x58, 0x2e, 0x48, 0x39, 0x01, 0xa5, 0x20,
0xb1, 0xb5, 0xb3, 0x5d, 0xaf, 0xe4, 0x62, 0x28, 0x07, 0x33, 0xa5, 0xc2, 0x43, 0x79, 0xe7, 0xb6,
0xcc, 0x20, 0x71, 0x34, 0x0b, 0x69, 0x0e, 0x79, 0x50, 0x2e, 0x7f, 0x92, 0x9b, 0x24, 0x28, 0xe4,
0x8b, 0x40, 0x28, 0x7d, 0x82, 0xa0, 0x54, 0x76, 0xf6, 0x24, 0x02, 0x29, 0x15, 0x1e, 0xe6, 0xa6,
0xc4, 0x1a, 0xe4, 0xfc, 0xda, 0x47, 0x3f, 0x06, 0xc0, 0x9b, 0x70, 0xf4, 0xb5, 0x43, 0x46, 0x4c,
0xaf, 0x1d, 0x36, 0xac, 0x4f, 0x71, 0x07, 0xd0, 0xa0, 0x7b, 0x43, 0x1f, 0x40, 0xaa, 0x8b, 0x9f,
0x8d, 0xb3, 0x55, 0xd1, 0xc5, 0xcf, 0xe8, 0x97, 0x78, 0x0e, 0xce, 0x86, 0x5a, 0xb8, 0x98, 0x85,
0x19, 0xb7, 0xe7, 0x13, 0x7f, 0x10, 0x83, 0x0c, 0x71, 0x5b, 0x46, 0x5d, 0xab, 0xb6, 0xba, 0x9a,
0x8e, 0xd1, 0x2a, 0x20, 0xdb, 0x61, 0x19, 0xa4, 0x15, 0x8d, 0x23, 0x95, 0xdd, 0xe1, 0x4b, 0x51,
0x53, 0xb3, 0xf3, 0xea, 0x5a, 0xed, 0x48, 0xed, 0xa1, 0x13, 0x38, 0xd7, 0xd0, 0x3a, 0x1d, 0xad,
0x2b, 0x7b, 0xc9, 0x54, 0xca, 0x8e, 0x8f, 0xe8, 0xef, 0x0f, 0xf1, 0x98, 0x76, 0xd1, 0xab, 0x45,
0xca, 0xc7, 0x03, 0x23, 0xce, 0xa5, 0x61, 0x83, 0xad, 0x82, 0x59, 0x9e, 0xf8, 0x6d, 0x01, 0xe6,
0x03, 0x68, 0xd0, 0x15, 0x10, 0x8b, 0x3b, 0x5b, 0x5b, 0x3b, 0xdb, 0x72, 0xb1, 0x52, 0x90, 0x6a,
0x72, 0x7d, 0x47, 0xae, 0xde, 0xd9, 0xde, 0x91, 0xfc, 0x8f, 0x16, 0xa4, 0x61, 0x7a, 0x7b, 0x6f,
0xab, 0x2c, 0x55, 0x8b, 0x39, 0x01, 0x2d, 0x40, 0xae, 0xb0, 0xb9, 0x5b, 0x29, 0xc8, 0x7b, 0xbb,
0xbb, 0x65, 0x49, 0x2e, 0x16, 0x6a, 0xe5, 0x5c, 0xcc, 0x81, 0x6e, 0xee, 0x3c, 0xb0, 0xa0, 0xd4,
0x78, 0x76, 0xf7, 0xb6, 0x8b, 0xf5, 0xbd, 0x42, 0xbd, 0xba, 0xb3, 0x9d, 0x9b, 0x44, 0x59, 0x80,
0x07, 0x95, 0x6a, 0xbd, 0x5c, 0xdb, 0x2d, 0x14, 0xcb, 0xb9, 0xc4, 0xc6, 0x0c, 0x80, 0xa3, 0x0d,
0xf1, 0x8f, 0x89, 0x9c, 0x01, 0x83, 0xc0, 0x75, 0x98, 0x23, 0x83, 0x0b, 0x75, 0x8d, 0x56, 0x36,
0x3f, 0x61, 0x9b, 0xe3, 0x19, 0x36, 0x19, 0x7a, 0x0d, 0xb2, 0xdd, 0x7e, 0x67, 0x1f, 0xeb, 0x44,
0xb9, 0x24, 0x97, 0x5f, 0xa2, 0x9c, 0x61, 0xd0, 0xba, 0x46, 0x18, 0x93, 0x39, 0xbe, 0x8e, 0x9f,
0x62, 0xdd, 0xc0, 0xb2, 0xa6, 0x37, 0x31, 0xbb, 0x35, 0x97, 0x24, 0xc3, 0x1b, 0x05, 0xee, 0x10,
0x18, 0xba, 0x0f, 0x0b, 0x81, 0x6d, 0x35, 0x39, 0xf4, 0x78, 0xb3, 0x47, 0xc7, 0x12, 0x6a, 0x0c,
0xb6, 0xc7, 0x3f, 0x17, 0x60, 0x39, 0x6c, 0x94, 0x40, 0x5f, 0x87, 0xb4, 0x7f, 0xf1, 0x6d, 0x94,
0x4d, 0x43, 0xdb, 0xbd, 0x91, 0x93, 0xf6, 0xaf, 0xb4, 0x8d, 0x24, 0xef, 0x0f, 0x5d, 0x70, 0x13,
0xdc, 0x93, 0x3d, 0xf1, 0xe7, 0x62, 0x30, 0xeb, 0x17, 0xf9, 0x0e, 0x4c, 0x5b, 0x4b, 0xc7, 0x6c,
0x4a, 0x7c, 0x33, 0xda, 0x98, 0xc5, 0xd3, 0x92, 0x45, 0x4d, 0x8f, 0xac, 0xf3, 0x79, 0xec, 0x2a,
0xc4, 0x3b, 0x6a, 0x37, 0x52, 0xf5, 0x09, 0x22, 0xc5, 0x57, 0x8e, 0x23, 0xd5, 0x97, 0x20, 0xa2,
0x2a, 0xcc, 0xf1, 0x21, 0x8c, 0xde, 0x17, 0x77, 0xe6, 0x4c, 0xa3, 0xa8, 0x73, 0x2e, 0x32, 0xe6,
0x48, 0x7e, 0x6f, 0x12, 0xce, 0x86, 0x06, 0x1a, 0xcf, 0xed, 0xf8, 0xd0, 0xfb, 0x30, 0x4d, 0xaf,
0xf1, 0xf3, 0x6b, 0x90, 0x11, 0xae, 0x5b, 0x73, 0x74, 0x64, 0xc0, 0x2c, 0x77, 0x39, 0x4a, 0xbb,
0x77, 0xa8, 0xec, 0x63, 0x76, 0xdc, 0x20, 0x1b, 0xba, 0xf5, 0x1d, 0x5a, 0x8b, 0xd5, 0xdb, 0x07,
0xc7, 0xcc, 0x83, 0x6c, 0xd3, 0xd3, 0x37, 0x05, 0xce, 0x8f, 0x8c, 0xd5, 0xac, 0x08, 0x0b, 0x82,
0xde, 0x00, 0xfe, 0x90, 0x8e, 0x53, 0x68, 0x82, 0x3b, 0xc5, 0x2c, 0xcb, 0xb0, 0x51, 0x97, 0x20,
0xa1, 0x2b, 0x4d, 0xf5, 0x98, 0x46, 0x3a, 0x89, 0xca, 0x84, 0xc4, 0x92, 0xf4, 0xac, 0x5c, 0x5f,
0xd7, 0xb5, 0x96, 0x62, 0xba, 0xde, 0xfe, 0xe1, 0x41, 0xc4, 0xc8, 0x4b, 0x2b, 0x73, 0x36, 0xad,
0x05, 0x12, 0xff, 0xa6, 0x00, 0x67, 0x42, 0x6a, 0x80, 0x56, 0xe0, 0xca, 0xed, 0xdb, 0x9f, 0xca,
0xdc, 0x11, 0x6e, 0x17, 0xea, 0xd5, 0xfb, 0x65, 0x99, 0xfa, 0xb2, 0x8d, 0x72, 0x7d, 0x98, 0x23,
0x24, 0xc3, 0x5e, 0xf9, 0xd3, 0x42, 0xa9, 0x5c, 0xac, 0x6e, 0x15, 0x36, 0x73, 0x31, 0x74, 0x1e,
0x96, 0x1d, 0x9f, 0xc8, 0x58, 0xc8, 0x16, 0x7a, 0x1c, 0xcd, 0x41, 0xc6, 0x0b, 0x9a, 0xdc, 0x00,
0x48, 0x5a, 0x3a, 0x12, 0xff, 0x8f, 0x00, 0x29, 0xbb, 0xf9, 0x51, 0x15, 0x52, 0x34, 0x82, 0x50,
0xad, 0x8b, 0x63, 0xe1, 0x31, 0x7f, 0xdd, 0xc2, 0xb3, 0xa9, 0xe9, 0x5c, 0xda, 0x82, 0x12, 0x56,
0xfd, 0xee, 0x33, 0x5d, 0xe9, 0xf5, 0xb0, 0xe5, 0x0e, 0xc2, 0x58, 0xed, 0x59, 0x78, 0x1e, 0x56,
0x36, 0x35, 0xda, 0x82, 0xf4, 0x51, 0xc7, 0x90, 0x2d, 0x66, 0xc3, 0x83, 0xfc, 0x4f, 0x3a, 0xc6,
0x83, 0x41, 0x6e, 0x70, 0x64, 0x83, 0x37, 0x92, 0x30, 0xc5, 0x0e, 0xfb, 0x88, 0xd7, 0x00, 0x0d,
0x56, 0x23, 0xe8, 0xca, 0x87, 0x78, 0x05, 0xd0, 0xa0, 0x94, 0x28, 0x07, 0x71, 0xab, 0x73, 0xcd,
0x48, 0xe4, 0x53, 0xfc, 0x1c, 0xe6, 0x03, 0x04, 0x20, 0xee, 0x8d, 0x13, 0xcb, 0x0e, 0x01, 0x70,
0x10, 0x41, 0xb8, 0x02, 0xb3, 0x4e, 0x6f, 0x75, 0xdf, 0x2a, 0xc9, 0xd8, 0x1d, 0x92, 0xde, 0x82,
0xfb, 0x53, 0x01, 0x66, 0x7d, 0x91, 0x20, 0xba, 0x06, 0x39, 0x97, 0xeb, 0x95, 0x9b, 0xca, 0x89,
0x35, 0xdd, 0xcd, 0x3a, 0x1e, 0xb6, 0xa4, 0x9c, 0x18, 0x04, 0xd3, 0xe5, 0xe3, 0x19, 0x26, 0x1b,
0xa5, 0xb2, 0x8e, 0x2b, 0xa7, 0x98, 0xae, 0xce, 0x1f, 0x1f, 0xaf, 0xf3, 0x17, 0x3c, 0x7e, 0x67,
0x32, 0x9a, 0xdf, 0xa1, 0x07, 0x15, 0xad, 0x04, 0x69, 0xa0, 0x0e, 0x36, 0x0f, 0xb5, 0xa6, 0xf8,
0xdd, 0x18, 0x9c, 0x09, 0x99, 0x54, 0x23, 0x0d, 0x66, 0x07, 0x67, 0xe7, 0xc3, 0x4e, 0x9d, 0x86,
0x30, 0x0a, 0x81, 0x4b, 0x7e, 0xee, 0xf9, 0xdf, 0x17, 0x60, 0x29, 0x18, 0xf7, 0xb9, 0x9f, 0x4b,
0x53, 0x61, 0xb9, 0x67, 0xcd, 0xc5, 0x7d, 0x0b, 0x01, 0xbc, 0xef, 0xac, 0x86, 0x9f, 0x74, 0x0b,
0x9a, 0xc2, 0x4b, 0x67, 0x7a, 0xc1, 0x19, 0xe2, 0x37, 0xe3, 0x30, 0x4f, 0x1b, 0xcd, 0x57, 0x85,
0xf7, 0x60, 0x8a, 0x9e, 0x48, 0x8c, 0x7a, 0xc4, 0x98, 0x63, 0xa3, 0x12, 0xa4, 0x1a, 0x5a, 0xb7,
0xa9, 0xba, 0x9e, 0xd5, 0xb8, 0x32, 0x74, 0xcd, 0xa2, 0x68, 0x61, 0x4b, 0x0e, 0x21, 0x3a, 0x1a,
0xa2, 0x80, 0xc9, 0xd3, 0x28, 0xa0, 0x32, 0x11, 0xaa, 0x82, 0xe1, 0x2b, 0x3c, 0x89, 0x17, 0xbc,
0xc2, 0x13, 0x30, 0x2b, 0xfb, 0xbe, 0x00, 0x8b, 0x81, 0xeb, 0x37, 0x48, 0x86, 0x45, 0xf6, 0xc6,
0x49, 0xb0, 0x65, 0xaf, 0x0c, 0x6b, 0x13, 0x9f, 0x01, 0x2c, 0x1c, 0x0c, 0x02, 0x0d, 0xf4, 0x10,
0xe6, 0xf9, 0x72, 0x93, 0xd1, 0xef, 0xf5, 0x74, 0x6c, 0x18, 0x7c, 0xad, 0x29, 0x3e, 0x64, 0xd5,
0x8d, 0xc9, 0x5a, 0x73, 0x08, 0x24, 0xa4, 0xfb, 0x41, 0x86, 0xf8, 0x10, 0xe6, 0x06, 0x10, 0xbd,
0xd6, 0x21, 0x9c, 0xd2, 0x3a, 0xc4, 0x5f, 0x4e, 0xc0, 0xac, 0x2f, 0x1b, 0xd5, 0x21, 0x8d, 0x8f,
0x9d, 0x1a, 0x0c, 0x7f, 0x1c, 0xd0, 0x47, 0xbc, 0x5a, 0x76, 0x28, 0x25, 0x37, 0x9b, 0xfc, 0xef,
0x90, 0xe1, 0xd0, 0x2e, 0xe3, 0x74, 0x47, 0x7a, 0xcb, 0x90, 0xd4, 0x7a, 0x58, 0x57, 0x4c, 0xfe,
0x28, 0x46, 0x76, 0xc8, 0xba, 0x59, 0x9b, 0xb6, 0x8b, 0xd2, 0xde, 0xe1, 0x04, 0x92, 0x4d, 0xea,
0x2c, 0xfb, 0x4f, 0x46, 0x5e, 0xf6, 0xcf, 0x7f, 0x0e, 0x60, 0x4b, 0x6f, 0xa0, 0x5d, 0x00, 0x5b,
0x87, 0x96, 0x09, 0xbd, 0x19, 0x51, 0x43, 0x4e, 0x3b, 0xb8, 0x78, 0xe4, 0xbf, 0x1d, 0x83, 0xb4,
0x4b, 0x77, 0xa8, 0x43, 0x06, 0x94, 0x16, 0x3d, 0x5d, 0x6a, 0x57, 0x99, 0xad, 0x26, 0x6c, 0x8c,
0xdf, 0x12, 0xab, 0x9b, 0x8c, 0x95, 0xad, 0x8b, 0xd9, 0xb6, 0x17, 0x80, 0x6a, 0x9e, 0x0a, 0xb1,
0x26, 0x7f, 0x6b, 0xdc, 0x0a, 0x91, 0xce, 0xea, 0x62, 0x23, 0x7e, 0x04, 0xb3, 0xbe, 0x82, 0xd1,
0x25, 0x38, 0xbf, 0xb9, 0x73, 0xa7, 0x5a, 0x2c, 0x6c, 0xca, 0x3b, 0xbb, 0x65, 0xa9, 0x50, 0xdf,
0x91, 0x7c, 0x11, 0xd9, 0x34, 0xc4, 0x0b, 0xdb, 0xa5, 0x9c, 0x60, 0xaf, 0xdc, 0xff, 0x23, 0x01,
0x96, 0x82, 0xaf, 0xeb, 0x93, 0x69, 0xa4, 0xdd, 0x9d, 0x7d, 0x17, 0x5b, 0x73, 0xae, 0x0c, 0x76,
0xab, 0xb5, 0x05, 0xcb, 0xde, 0xbe, 0x2f, 0x1b, 0xfd, 0x4e, 0x47, 0xd1, 0x55, 0xfb, 0xe0, 0xf5,
0x8d, 0x48, 0x8f, 0x05, 0xd4, 0x28, 0xd5, 0x89, 0x74, 0xc6, 0x0c, 0x00, 0xab, 0xd8, 0x10, 0xbf,
0x3d, 0x05, 0x8b, 0x81, 0x24, 0xcf, 0x79, 0x63, 0xdb, 0xee, 0x33, 0xb1, 0x71, 0xfa, 0xcc, 0x7d,
0xbf, 0x93, 0xe4, 0xad, 0x3b, 0xee, 0xb0, 0xe7, 0xe3, 0x12, 0xee, 0x50, 0x13, 0x2f, 0xc8, 0xa1,
0xde, 0xb3, 0x5f, 0x27, 0xb3, 0x1c, 0x2a, 0x5f, 0x3f, 0x8d, 0xee, 0x4c, 0xb3, 0x5e, 0x67, 0x8a,
0xea, 0x30, 0xcd, 0xf6, 0x02, 0xad, 0x43, 0x25, 0xb7, 0xc6, 0x69, 0xf1, 0x55, 0xab, 0xe5, 0xd9,
0xb5, 0x72, 0x8b, 0x55, 0xb0, 0x15, 0x4e, 0x07, 0x5b, 0x61, 0xfe, 0x17, 0x04, 0xc8, 0x78, 0xf8,
0x38, 0x1b, 0x8a, 0x82, 0x6b, 0x43, 0x11, 0x3d, 0x84, 0x49, 0xfb, 0xe2, 0x40, 0x36, 0x34, 0xf0,
0x0a, 0x96, 0xd3, 0xa7, 0x5e, 0x5a, 0x4c, 0x51, 0x6b, 0x62, 0x89, 0xb2, 0x44, 0xcb, 0x30, 0xdd,
0x64, 0x7b, 0xb3, 0x6c, 0x4b, 0x51, 0xb2, 0x92, 0xe2, 0xe7, 0xb0, 0x1c, 0x46, 0x4b, 0x66, 0x55,
0x75, 0xa9, 0xb0, 0x5d, 0xbb, 0xbd, 0x23, 0x6d, 0xd1, 0xc5, 0x1f, 0x59, 0x2a, 0xd7, 0xf6, 0x36,
0xeb, 0x72, 0x71, 0xa7, 0x14, 0xb0, 0xbc, 0x54, 0xdb, 0x2b, 0x16, 0xcb, 0xb5, 0x1a, 0x5b, 0x8c,
0x2c, 0x4b, 0xd2, 0x8e, 0x94, 0x8b, 0x89, 0x1a, 0x24, 0x6b, 0x8d, 0x43, 0xdc, 0xec, 0xd3, 0x5b,
0xaa, 0x79, 0x1d, 0x37, 0xfa, 0xba, 0x4e, 0x0f, 0x1b, 0xf4, 0xb0, 0xae, 0x6a, 0x4d, 0xd9, 0x7a,
0x08, 0x98, 0x77, 0x8e, 0xb3, 0x03, 0x9b, 0x93, 0x25, 0x8e, 0x50, 0x99, 0x90, 0x96, 0x1d, 0xf2,
0x5d, 0x4a, 0x6d, 0xe5, 0x91, 0x28, 0x97, 0xbd, 0x4e, 0x20, 0xfe, 0xd3, 0x18, 0xcc, 0xfa, 0x6f,
0xe3, 0x9f, 0xf2, 0xde, 0xf9, 0x25, 0x48, 0x37, 0x9d, 0x9b, 0xd8, 0x5c, 0x73, 0x6e, 0x90, 0xff,
0xb5, 0xc3, 0xc9, 0xb1, 0x5e, 0x3b, 0xfc, 0x10, 0xd2, 0xfd, 0x9e, 0xb3, 0x29, 0x99, 0x18, 0x4d,
0xcc, 0xd0, 0x29, 0xf1, 0xe0, 0xd3, 0x23, 0x53, 0xa7, 0x7e, 0x7a, 0x44, 0xfc, 0x57, 0x31, 0x40,
0xa5, 0x81, 0x57, 0x5b, 0x7e, 0x14, 0xd5, 0x16, 0xf8, 0xd8, 0xd3, 0xd4, 0x73, 0x3e, 0xf6, 0x24,
0x3e, 0x81, 0x44, 0x59, 0xd7, 0x35, 0x1d, 0xdd, 0x70, 0xfa, 0x19, 0x33, 0x67, 0x64, 0x31, 0xd5,
0x7b, 0x0d, 0x7a, 0x9b, 0xa7, 0x6f, 0xd8, 0x7d, 0x0f, 0xdd, 0x62, 0x5b, 0xeb, 0x54, 0x4a, 0x2b,
0x6c, 0x1c, 0x5a, 0x11, 0x07, 0x5b, 0xfc, 0x6e, 0x02, 0xe0, 0xae, 0xb6, 0x5f, 0xd7, 0xd5, 0x56,
0x0b, 0xeb, 0x2f, 0xaf, 0xa9, 0xee, 0x42, 0xda, 0xb2, 0xb3, 0xc7, 0xda, 0x3e, 0x6f, 0xaa, 0xa8,
0x2f, 0x59, 0x90, 0xe0, 0x40, 0xb5, 0x61, 0x24, 0x96, 0x33, 0x99, 0xbc, 0xd6, 0x90, 0x11, 0x16,
0xcb, 0x39, 0x35, 0x5b, 0xe5, 0xbf, 0x92, 0x4d, 0x8a, 0xde, 0x81, 0x29, 0x4c, 0xb4, 0x6d, 0x1d,
0x51, 0x09, 0x0b, 0xe6, 0x68, 0x93, 0x48, 0x1c, 0xd7, 0x6f, 0x73, 0xd3, 0xcf, 0x63, 0x73, 0xc9,
0xb1, 0x6c, 0xee, 0x63, 0xc8, 0xb4, 0x15, 0xc3, 0x94, 0xf5, 0x7e, 0x97, 0x91, 0xa7, 0x46, 0x92,
0xa7, 0x09, 0x81, 0xd4, 0xef, 0x52, 0xfa, 0x6f, 0xc0, 0x14, 0x7b, 0xb2, 0x7c, 0x19, 0xe8, 0xc8,
0x70, 0x6d, 0xb4, 0xd2, 0xb8, 0xa5, 0x71, 0xba, 0x7c, 0x0d, 0xa6, 0x2d, 0x43, 0xf9, 0x3a, 0x24,
0x0d, 0xee, 0x8f, 0x47, 0x84, 0x23, 0x96, 0xdb, 0xae, 0x4c, 0x48, 0x36, 0xc9, 0x46, 0x0a, 0xa6,
0x79, 0x3b, 0x88, 0x15, 0x98, 0x62, 0xc5, 0xa0, 0x25, 0x40, 0xb5, 0x7a, 0xa1, 0xbe, 0x57, 0x1b,
0x1c, 0x13, 0x2a, 0xe5, 0xc2, 0x66, 0xbd, 0xf2, 0x30, 0x27, 0x20, 0x80, 0xa9, 0xdd, 0xc2, 0x5e,
0xad, 0x5c, 0x62, 0xcf, 0x22, 0x17, 0x0b, 0xdb, 0xc5, 0xf2, 0xe6, 0x66, 0xb9, 0x94, 0x8b, 0x6f,
0x24, 0x20, 0xfe, 0x58, 0xdb, 0x17, 0x7f, 0x37, 0x0e, 0x53, 0xec, 0x25, 0x08, 0x74, 0x0f, 0x32,
0x86, 0xf2, 0xd4, 0xf5, 0x02, 0xa0, 0x30, 0x74, 0x99, 0x8a, 0x51, 0xad, 0xd6, 0x94, 0xa7, 0xf6,
0xe3, 0x80, 0x95, 0x09, 0x69, 0xc6, 0x70, 0xa5, 0x51, 0x05, 0xa6, 0x7b, 0xfd, 0x7d, 0xd9, 0xe8,
0xef, 0x8f, 0x78, 0x27, 0x8a, 0x33, 0xdb, 0xed, 0xef, 0xb7, 0x55, 0xe3, 0xb0, 0xae, 0xed, 0xf6,
0xf7, 0x6b, 0xfd, 0xfd, 0xca, 0x84, 0x34, 0xd5, 0xa3, 0x5f, 0xe8, 0x08, 0xce, 0xf4, 0x58, 0x26,
0x0f, 0x27, 0x4f, 0x64, 0x53, 0x93, 0x1b, 0x46, 0xa3, 0x31, 0x62, 0xe2, 0xe4, 0xe5, 0xcc, 0x87,
0xee, 0xba, 0x56, 0x34, 0x1a, 0x8d, 0xca, 0x84, 0xb4, 0xd0, 0x0b, 0x80, 0xe7, 0x65, 0x98, 0x71,
0x57, 0x0b, 0xed, 0xd8, 0x6f, 0x21, 0x79, 0x0e, 0x13, 0xac, 0x44, 0x7f, 0x0b, 0xc9, 0x7a, 0xfe,
0x88, 0xdf, 0x29, 0xbf, 0x0a, 0xb3, 0xbe, 0xaa, 0x92, 0xf0, 0xc4, 0xd4, 0x7a, 0xfc, 0x5e, 0x60,
0x4a, 0x62, 0x89, 0xfc, 0x12, 0x2c, 0x04, 0x49, 0x4e, 0x86, 0x5e, 0xf6, 0x6e, 0x87, 0xf8, 0x6b,
0x02, 0x9c, 0x2f, 0xd2, 0x4e, 0xe3, 0x7f, 0x27, 0x67, 0xc4, 0x3b, 0x5a, 0xf7, 0x20, 0x37, 0xf0,
0x10, 0x4f, 0x6c, 0xac, 0x87, 0x78, 0x66, 0x7d, 0xaf, 0x5c, 0xa1, 0x8b, 0x90, 0xb6, 0x5f, 0xc3,
0x52, 0x9b, 0xdc, 0xb3, 0x81, 0x05, 0xaa, 0x36, 0xc5, 0xdf, 0x13, 0xe0, 0xfc, 0x1e, 0xed, 0xa4,
0x21, 0xc2, 0x06, 0xb9, 0xd4, 0x97, 0x20, 0xa8, 0xe3, 0x5a, 0xe8, 0x3e, 0x57, 0x3c, 0xc4, 0x37,
0xd0, 0x20, 0x7a, 0x4b, 0x31, 0x8e, 0x2c, 0xd7, 0x42, 0xbe, 0xc5, 0x35, 0x38, 0x7b, 0x07, 0x9b,
0xd1, 0x2b, 0x20, 0x3e, 0x81, 0x73, 0xec, 0x99, 0x1a, 0x0f, 0x85, 0x31, 0xaa, 0x81, 0x2e, 0x00,
0xf4, 0x94, 0x16, 0x96, 0x4d, 0xed, 0x88, 0x3f, 0x1d, 0x99, 0x92, 0x52, 0x04, 0x52, 0x27, 0x00,
0x74, 0x0e, 0x68, 0xc2, 0xd9, 0x6e, 0x4a, 0x48, 0x49, 0x02, 0xa0, 0x9b, 0x4d, 0xdf, 0x11, 0xe0,
0x7c, 0x70, 0x99, 0xfc, 0x85, 0x9c, 0x1a, 0xcc, 0xf9, 0x95, 0x6a, 0x4d, 0xb0, 0xa3, 0x6a, 0x35,
0xe7, 0xd3, 0xaa, 0x81, 0xae, 0xc0, 0x6c, 0x17, 0x1f, 0x9b, 0xf2, 0x80, 0xd8, 0x19, 0x02, 0xde,
0xb5, 0x44, 0x17, 0xd7, 0xe1, 0x7c, 0x09, 0xb7, 0xf1, 0x38, 0x56, 0x40, 0x77, 0x22, 0x98, 0x9d,
0x3b, 0x2e, 0x77, 0x94, 0x06, 0x37, 0x20, 0xfd, 0x58, 0xdb, 0x97, 0xb9, 0xf3, 0xe4, 0x46, 0xf3,
0xea, 0x48, 0x4f, 0x2e, 0xc1, 0x63, 0x67, 0x90, 0xbf, 0x00, 0xc0, 0xe9, 0x1d, 0x93, 0x4e, 0x71,
0x48, 0xb5, 0x49, 0x66, 0xcd, 0x67, 0x98, 0x45, 0x0f, 0x8a, 0x15, 0x64, 0xcc, 0x2f, 0x42, 0xa4,
0xe7, 0xb2, 0xde, 0x15, 0x58, 0xb8, 0x83, 0xcd, 0x48, 0xc2, 0x8a, 0x3f, 0x10, 0x60, 0x9e, 0xe9,
0xbc, 0xd4, 0xee, 0xdd, 0xd5, 0xf6, 0x47, 0xe9, 0xdb, 0x17, 0xb7, 0xc4, 0x9e, 0x27, 0x6e, 0xa9,
0x42, 0x52, 0x57, 0x8d, 0x23, 0xca, 0x28, 0x3e, 0xfc, 0x20, 0x59, 0xd0, 0xeb, 0x4c, 0x95, 0x09,
0x69, 0x9a, 0xd0, 0x13, 0x56, 0x8b, 0x30, 0x45, 0x74, 0xae, 0x36, 0xf9, 0xeb, 0x7c, 0x89, 0xc7,
0xda, 0x7e, 0xb5, 0x69, 0x8d, 0x80, 0x3f, 0x23, 0xc0, 0x12, 0xe9, 0x2a, 0x8e, 0x4a, 0x5e, 0x66,
0xcf, 0x44, 0x67, 0x21, 0x49, 0xf7, 0xcd, 0xe5, 0xfd, 0x13, 0x2e, 0xce, 0x34, 0x4d, 0x6f, 0x9c,
0x10, 0x49, 0xce, 0x0c, 0x48, 0xc2, 0xfb, 0x6b, 0x09, 0x66, 0x5c, 0x76, 0x63, 0x75, 0xd5, 0x08,
0x86, 0x93, 0x76, 0x0c, 0x27, 0x7a, 0x07, 0xbd, 0x09, 0x67, 0x58, 0x07, 0x8d, 0x66, 0x27, 0x7f,
0x27, 0x06, 0x39, 0x7f, 0x73, 0x92, 0xc9, 0x12, 0xff, 0x3b, 0x1a, 0xef, 0xa8, 0xf9, 0x5a, 0xe8,
0xb5, 0x7b, 0xf7, 0x78, 0x99, 0x31, 0x3c, 0x6f, 0x19, 0xbe, 0xd0, 0x47, 0x1f, 0x43, 0x1f, 0x6f,
0x8c, 0x87, 0x3f, 0xc1, 0xe9, 0x7a, 0x56, 0x6b, 0x72, 0xac, 0x67, 0xb5, 0xfe, 0x4d, 0x02, 0xa6,
0x58, 0xef, 0x09, 0xf4, 0x07, 0xef, 0xf2, 0x7f, 0xd6, 0x18, 0xfe, 0xe7, 0x32, 0x8c, 0x81, 0xeb,
0xaf, 0x34, 0x3e, 0xa2, 0x6f, 0x71, 0x9b, 0x98, 0x2f, 0xcf, 0x5e, 0x19, 0x4a, 0x47, 0xcc, 0x81,
0x44, 0x8d, 0x58, 0x62, 0x44, 0xe8, 0x53, 0x98, 0xa1, 0x7d, 0xcb, 0x9a, 0x36, 0xb1, 0x09, 0xc6,
0xdb, 0xa7, 0x38, 0x75, 0x5e, 0x99, 0x90, 0xd2, 0xba, 0xeb, 0xc1, 0x83, 0x47, 0x60, 0x8d, 0xb5,
0x36, 0xf3, 0xe1, 0x67, 0xfe, 0xc2, 0x1e, 0x15, 0xac, 0x4c, 0x48, 0x56, 0x8b, 0x5b, 0xbc, 0x9f,
0xeb, 0x5f, 0x0e, 0x3e, 0x00, 0xa0, 0xef, 0x95, 0x47, 0x9d, 0x88, 0xa4, 0x28, 0x36, 0x25, 0x7d,
0x17, 0x92, 0xb8, 0xdb, 0x8c, 0x3a, 0x09, 0x99, 0xc6, 0xdd, 0x26, 0x25, 0xbb, 0x06, 0x39, 0x57,
0x8f, 0x65, 0x06, 0x06, 0xb4, 0xe5, 0xb3, 0x4e, 0x97, 0xa4, 0xb6, 0xe5, 0xcc, 0xad, 0xd2, 0xd1,
0xe7, 0x56, 0x62, 0x03, 0x92, 0x56, 0xbb, 0xa2, 0xb3, 0xb0, 0x78, 0x77, 0x67, 0x43, 0x26, 0x13,
0x82, 0x80, 0x35, 0xa2, 0xdd, 0xf2, 0x76, 0xa9, 0xba, 0x7d, 0x27, 0x27, 0x90, 0x84, 0xb4, 0xb7,
0xbd, 0x4d, 0x12, 0x31, 0x94, 0x84, 0xc9, 0xd2, 0xce, 0x76, 0x39, 0x17, 0x47, 0x33, 0x90, 0x64,
0x53, 0x83, 0x72, 0x29, 0x37, 0x49, 0x26, 0x0d, 0xb7, 0x0b, 0x55, 0xf2, 0x9d, 0x20, 0x53, 0x0f,
0x6b, 0xd1, 0xea, 0x0a, 0xe4, 0xee, 0x60, 0xd3, 0x3b, 0x10, 0x04, 0x39, 0x83, 0xdf, 0x16, 0x00,
0x11, 0x2f, 0xc6, 0x30, 0x03, 0x7c, 0xe9, 0xa4, 0xc7, 0x97, 0x3a, 0x6f, 0xfb, 0x09, 0xee, 0xb7,
0xfd, 0xbc, 0x4e, 0x34, 0xe6, 0x73, 0xa2, 0x5e, 0x07, 0x1c, 0xf7, 0x3b, 0x60, 0xab, 0x53, 0x25,
0xc6, 0xea, 0x54, 0x62, 0x0f, 0xe6, 0x3d, 0x82, 0x73, 0xd7, 0xfb, 0x16, 0x4c, 0x3e, 0xd6, 0xf6,
0x2d, 0x97, 0x7b, 0x61, 0x28, 0x37, 0x89, 0xa2, 0x46, 0xf6, 0xb3, 0x6f, 0xc0, 0x7c, 0x51, 0xe9,
0x36, 0x70, 0x7b, 0xb4, 0x5a, 0xdf, 0x80, 0x79, 0xe6, 0x92, 0x47, 0xa3, 0xfe, 0x96, 0x00, 0x17,
0xf9, 0xb0, 0x3d, 0xb0, 0xbe, 0x34, 0x6a, 0x68, 0x7b, 0x04, 0xf3, 0x01, 0x2f, 0x51, 0x8f, 0x38,
0xfe, 0x10, 0x50, 0x0c, 0x1a, 0x7c, 0xaf, 0x7a, 0xf4, 0xf4, 0xe0, 0xdf, 0x0b, 0x70, 0x91, 0x05,
0x53, 0xe1, 0x82, 0x07, 0x39, 0xd1, 0x97, 0x29, 0xf4, 0x73, 0x05, 0x5b, 0xeb, 0x70, 0x9e, 0xf4,
0x99, 0x71, 0x2a, 0x23, 0x9a, 0xf0, 0x0a, 0xb5, 0xc2, 0x01, 0xa2, 0x97, 0x3a, 0x61, 0xf8, 0x87,
0x02, 0x5c, 0x0c, 0x2d, 0x96, 0x77, 0x84, 0xcf, 0x60, 0x21, 0x40, 0xcd, 0x56, 0xc7, 0x18, 0x43,
0xcf, 0xf3, 0x83, 0x7a, 0x8e, 0xde, 0x67, 0xde, 0x85, 0x8b, 0xbc, 0x23, 0x8c, 0xa5, 0xd6, 0x7f,
0x10, 0x83, 0x73, 0x9b, 0x8a, 0xde, 0xc2, 0xec, 0xcf, 0xcb, 0x4a, 0x2a, 0x1d, 0x9f, 0x15, 0xdd,
0xba, 0x34, 0x51, 0x81, 0x34, 0x9f, 0xe3, 0xf7, 0x14, 0xf3, 0x90, 0xc7, 0x2a, 0xa1, 0x47, 0xa4,
0xdb, 0x5a, 0xbf, 0xc9, 0x03, 0x96, 0x5d, 0xc5, 0x3c, 0x94, 0x80, 0xd1, 0x92, 0x6f, 0xa4, 0xc0,
0x52, 0x83, 0xe4, 0xcb, 0x56, 0xf8, 0x43, 0xff, 0x69, 0xc4, 0xc0, 0xd6, 0x29, 0xb4, 0x95, 0x08,
0x4c, 0x6f, 0xab, 0x6d, 0x5c, 0xa3, 0xa7, 0xc4, 0xe6, 0x1b, 0x83, 0x60, 0xb4, 0x0d, 0xb3, 0xfb,
0x6a, 0x4b, 0x7e, 0xd2, 0xc7, 0xfa, 0x89, 0xcc, 0x36, 0xab, 0xa2, 0x3d, 0x61, 0x45, 0xcd, 0xb4,
0x32, 0x21, 0x65, 0xf6, 0xdd, 0x00, 0xd7, 0x81, 0xa2, 0xef, 0x09, 0xb0, 0x40, 0x0a, 0xc3, 0x4d,
0xdf, 0xe1, 0x74, 0xff, 0xc2, 0xa6, 0x30, 0x72, 0x61, 0x33, 0x36, 0xb8, 0xb0, 0xd9, 0x86, 0x33,
0x6d, 0xd2, 0x06, 0x32, 0x3f, 0xe8, 0xd6, 0xb4, 0x5b, 0x61, 0xc4, 0x2a, 0xce, 0x90, 0x96, 0xab,
0x4c, 0x48, 0x8b, 0xed, 0xa0, 0x6c, 0x7b, 0x67, 0xf3, 0x6f, 0xc4, 0x60, 0xd1, 0x5b, 0x27, 0xfe,
0x37, 0x31, 0xa8, 0x08, 0x53, 0x9e, 0xd8, 0xf4, 0xfa, 0x90, 0xd8, 0xd4, 0xaf, 0x11, 0x89, 0x93,
0xfa, 0xe3, 0x92, 0xd8, 0x58, 0x71, 0xc9, 0x37, 0xbc, 0x81, 0xdc, 0x4a, 0x24, 0x01, 0x3c, 0xc1,
0x9c, 0x13, 0x3d, 0x4c, 0x8e, 0x11, 0x3d, 0xfc, 0x07, 0x01, 0xb2, 0x5e, 0xa6, 0x81, 0x9e, 0x75,
0x0f, 0x66, 0xd9, 0xe6, 0x8f, 0x69, 0xff, 0xe5, 0xce, 0xf0, 0x5b, 0x3d, 0x81, 0x7a, 0x96, 0xb2,
0x9c, 0x89, 0xa5, 0xf7, 0x07, 0x90, 0xeb, 0x61, 0xf6, 0x87, 0x30, 0x9c, 0xed, 0xa8, 0xbd, 0xe1,
0x60, 0xbe, 0xb3, 0x9c, 0x0b, 0x4f, 0x1b, 0xe2, 0xaf, 0x0a, 0x70, 0x8e, 0x0d, 0x7d, 0x5e, 0x82,
0x51, 0xae, 0xd3, 0x31, 0x84, 0xd8, 0xe9, 0x0d, 0xe1, 0x26, 0xcc, 0x1b, 0x34, 0xdf, 0x75, 0x5f,
0xc4, 0x1e, 0xe7, 0x72, 0x86, 0x87, 0xb4, 0xda, 0x14, 0x7f, 0x43, 0x80, 0x73, 0x6c, 0xb4, 0x0b,
0x96, 0x35, 0xa8, 0x3d, 0x5e, 0x88, 0x9c, 0xcf, 0x35, 0xa4, 0xad, 0xc2, 0xf2, 0x1d, 0x6c, 0x46,
0x96, 0x58, 0xec, 0x41, 0x9e, 0x8c, 0x2b, 0x5e, 0x82, 0x97, 0x3a, 0x94, 0xfd, 0x6d, 0x81, 0xad,
0xb7, 0x0d, 0x14, 0xc9, 0x87, 0xb1, 0x7b, 0x30, 0xe7, 0x6f, 0x26, 0x6b, 0x0c, 0x7b, 0x3d, 0x92,
0x3a, 0xa5, 0x59, 0x6f, 0x5b, 0x46, 0x1f, 0xbb, 0xde, 0x82, 0x73, 0x6c, 0xec, 0x8a, 0xac, 0xbf,
0x95, 0x2d, 0xc8, 0x78, 0xfe, 0x1d, 0x13, 0x9d, 0x81, 0xf9, 0xe2, 0xce, 0x76, 0xbd, 0xbc, 0xed,
0x3f, 0x63, 0x9b, 0x83, 0x19, 0x2b, 0xa3, 0x5e, 0xfe, 0xb4, 0x9e, 0x13, 0xd0, 0x1c, 0x64, 0x2c,
0x08, 0xfb, 0xef, 0xc4, 0xd8, 0xca, 0xae, 0xf3, 0x48, 0xb8, 0xeb, 0xad, 0x6e, 0x32, 0x81, 0x28,
0x6f, 0xef, 0x6d, 0x05, 0xfd, 0xf1, 0x62, 0x1a, 0xa6, 0xab, 0x14, 0xc0, 0x39, 0x4a, 0xd5, 0xda,
0x27, 0x72, 0x61, 0xbb, 0xb0, 0xf9, 0xb0, 0x56, 0xad, 0xe5, 0x62, 0x2b, 0xff, 0x52, 0x00, 0x34,
0x78, 0x0c, 0x08, 0x5d, 0x86, 0x8b, 0x52, 0x79, 0x93, 0xee, 0x60, 0x87, 0x1f, 0x42, 0x99, 0x81,
0x64, 0xf9, 0xde, 0x5e, 0x61, 0x53, 0xae, 0xef, 0xe4, 0x04, 0x52, 0x81, 0xed, 0x9d, 0xba, 0x6c,
0x43, 0xe8, 0xad, 0x9a, 0x3b, 0x52, 0xb9, 0x50, 0x2f, 0x4b, 0x72, 0xbd, 0x52, 0xd8, 0x66, 0xff,
0xe6, 0xb8, 0x59, 0xae, 0xd5, 0x58, 0x72, 0x12, 0xe5, 0x61, 0xc9, 0x8d, 0x20, 0xef, 0x48, 0x8c,
0xbc, 0x96, 0x4b, 0x10, 0x45, 0xd9, 0xa8, 0xae, 0x8c, 0x29, 0x32, 0xc1, 0x29, 0x7f, 0x5a, 0xad,
0xd5, 0x6b, 0xb9, 0xe9, 0x15, 0x09, 0xc0, 0x99, 0x07, 0xa0, 0xf3, 0xb0, 0x5c, 0xda, 0xdc, 0x95,
0xc9, 0x5c, 0x2a, 0x40, 0x13, 0xb3, 0x90, 0xe6, 0x9a, 0x20, 0x18, 0x39, 0x01, 0x2d, 0xc2, 0x9c,
0x47, 0x1b, 0x14, 0x1c, 0x5b, 0xe9, 0xc2, 0x7c, 0x80, 0xbf, 0x46, 0x57, 0x40, 0xa4, 0xff, 0x4d,
0x50, 0x92, 0xab, 0xdb, 0xb7, 0x77, 0x58, 0x01, 0x23, 0x67, 0x6c, 0x29, 0x48, 0x48, 0xe5, 0x42,
0xe9, 0x61, 0x2e, 0xe6, 0x9a, 0x97, 0xc5, 0x59, 0xa3, 0xdc, 0x2f, 0x6c, 0x56, 0x4b, 0xb9, 0xc9,
0xf5, 0x5f, 0xbd, 0x4e, 0x2b, 0x51, 0xc3, 0xfa, 0x53, 0xb5, 0x81, 0xd1, 0xdf, 0x13, 0x20, 0xeb,
0xfd, 0xa3, 0x09, 0x74, 0x63, 0xe4, 0x32, 0x89, 0xeb, 0x9f, 0x37, 0xf2, 0x37, 0x23, 0x62, 0xb3,
0xfe, 0x24, 0xae, 0xff, 0xa5, 0xef, 0xff, 0xf7, 0x9f, 0x8f, 0xdd, 0x10, 0xaf, 0xae, 0x3d, 0x5d,
0x5f, 0xfb, 0x09, 0xd6, 0x81, 0xbf, 0xde, 0xd3, 0xb5, 0xc7, 0xb8, 0x61, 0x1a, 0x6b, 0x2b, 0x3f,
0xb5, 0xc6, 0xff, 0x4b, 0xef, 0x16, 0x9f, 0xcf, 0xdf, 0x12, 0x56, 0xd0, 0xb7, 0x04, 0x48, 0xbb,
0xfe, 0xe7, 0x08, 0xbd, 0x11, 0xf9, 0x7f, 0xad, 0xf2, 0x2b, 0x51, 0x50, 0xb9, 0x68, 0x6b, 0x54,
0xb4, 0x37, 0xc4, 0xd7, 0xc2, 0x44, 0xa3, 0xff, 0xa5, 0x74, 0x8b, 0x5d, 0xcd, 0x24, 0x72, 0xfd,
0xba, 0x00, 0x73, 0x03, 0x7f, 0xa7, 0x83, 0xd6, 0xa2, 0xec, 0x52, 0xbb, 0x35, 0xf8, 0x66, 0x74,
0x02, 0x2e, 0xe9, 0xbb, 0x54, 0xd2, 0x35, 0x71, 0x65, 0x94, 0x12, 0x9d, 0xd0, 0xd9, 0x92, 0x57,
0x8a, 0x2c, 0xaf, 0x34, 0xae, 0xbc, 0xd2, 0xf3, 0xcb, 0xab, 0x7b, 0xe4, 0xfd, 0x69, 0x01, 0x32,
0x9e, 0x27, 0xfb, 0xd1, 0xf5, 0xd0, 0xff, 0xc9, 0x1c, 0xfc, 0xb7, 0x80, 0xfc, 0x8d, 0x68, 0xc8,
0x5c, 0xc6, 0x45, 0x2a, 0xe3, 0x2c, 0xca, 0x10, 0x19, 0x9d, 0xa3, 0xca, 0x7f, 0x24, 0xc0, 0x62,
0xe0, 0x8e, 0x19, 0x7a, 0x3b, 0xf4, 0x94, 0x77, 0xf8, 0xfe, 0x5a, 0x3e, 0xe2, 0x76, 0x89, 0xd8,
0xa2, 0xd2, 0x28, 0xe2, 0x4d, 0xb7, 0xc6, 0x34, 0xbd, 0xa5, 0x74, 0xd5, 0x2f, 0xd8, 0x51, 0x2c,
0x6a, 0x90, 0xbe, 0x3d, 0x95, 0x5b, 0xc2, 0xca, 0xa3, 0x9b, 0xe2, 0xb5, 0x50, 0xfb, 0x1d, 0x44,
0xa7, 0xf5, 0x0b, 0xdc, 0x64, 0x0b, 0xad, 0xdf, 0xb0, 0x2d, 0xb9, 0x71, 0xeb, 0xb7, 0xce, 0xea,
0x47, 0xc6, 0x2e, 0x7f, 0xed, 0x06, 0xa4, 0x5d, 0x5b, 0xf9, 0x29, 0x5a, 0xbf, 0xf5, 0x6b, 0x0e,
0x8d, 0x53, 0xbb, 0x10, 0x74, 0xf4, 0x3d, 0x01, 0xd0, 0xe0, 0x06, 0x1c, 0x0a, 0xb3, 0xe1, 0xd0,
0xbd, 0xba, 0xc8, 0x35, 0x53, 0x68, 0xcd, 0x7e, 0x1c, 0x8d, 0x57, 0xb3, 0x47, 0x2b, 0x28, 0x72,
0xb5, 0xd0, 0x0f, 0x04, 0xeb, 0xff, 0x31, 0x7c, 0x5b, 0x6a, 0xeb, 0x43, 0x2d, 0x3e, 0x70, 0x43,
0x31, 0xff, 0xf6, 0x58, 0x34, 0xbc, 0xb3, 0x78, 0x2b, 0x19, 0xd5, 0x3c, 0xed, 0x4a, 0x46, 0xb0,
0x4d, 0xf4, 0x07, 0x02, 0x2c, 0x06, 0xee, 0xfb, 0x85, 0x1a, 0xe6, 0xb0, 0x5d, 0xc2, 0x7c, 0xc8,
0xdb, 0xcf, 0x56, 0x4d, 0x56, 0xc6, 0x6d, 0xae, 0x95, 0xe8, 0xcd, 0xf5, 0xa7, 0x02, 0x2c, 0x87,
0xad, 0xb0, 0xa1, 0xf7, 0x86, 0x7a, 0x91, 0xd0, 0x55, 0x8b, 0x7c, 0xf4, 0x05, 0x14, 0xb1, 0x43,
0xab, 0xd8, 0x12, 0xdf, 0x1c, 0xda, 0x58, 0x01, 0xab, 0x2c, 0xa4, 0xbb, 0xbd, 0x29, 0x5e, 0x0f,
0x6b, 0xb2, 0x60, 0x0a, 0x5a, 0xdd, 0xb0, 0x75, 0xb9, 0xd0, 0xea, 0x8e, 0x58, 0xc8, 0x3b, 0x45,
0x75, 0xd7, 0xdf, 0x0c, 0x6f, 0xd1, 0x00, 0xc9, 0xb9, 0x77, 0x79, 0x73, 0xfd, 0x7a, 0x60, 0xbb,
0x86, 0x52, 0xa0, 0xff, 0x22, 0xc0, 0x62, 0xe0, 0xb2, 0x5d, 0xa8, 0x9d, 0x0e, 0x5b, 0xe4, 0x1b,
0xa7, 0xa2, 0xdc, 0x87, 0xa2, 0xb1, 0x2b, 0xfa, 0xe8, 0x26, 0x1a, 0xa7, 0x96, 0xe8, 0x7f, 0xf1,
0xad, 0xc6, 0x80, 0xe5, 0x3e, 0xf4, 0xee, 0x10, 0xf7, 0x11, 0xbe, 0x2a, 0x99, 0x7f, 0x6f, 0x5c,
0x32, 0xee, 0x78, 0xbc, 0x75, 0x1e, 0xc3, 0x96, 0xed, 0x3a, 0x47, 0x33, 0x64, 0xf4, 0x7d, 0x01,
0x96, 0xc3, 0x56, 0x0e, 0x43, 0xad, 0x78, 0xc4, 0x52, 0x63, 0xa8, 0x13, 0xe2, 0xb5, 0x5a, 0x39,
0x45, 0x4b, 0xae, 0x8c, 0xd5, 0x92, 0xdf, 0x12, 0x20, 0xe7, 0x3f, 0x17, 0x81, 0x56, 0x87, 0xba,
0xa0, 0x81, 0x4d, 0xdd, 0xfc, 0xe8, 0x7d, 0x64, 0x71, 0x95, 0x56, 0xe8, 0x9a, 0x78, 0x39, 0x4c,
0xe5, 0xae, 0x7d, 0x66, 0x1e, 0xe1, 0xe7, 0xfc, 0x07, 0x23, 0x42, 0xe5, 0x0a, 0x39, 0x41, 0x31,
0x86, 0x5c, 0xeb, 0x97, 0x03, 0x95, 0xe6, 0x12, 0x8a, 0x77, 0xee, 0xbf, 0x26, 0x40, 0xc6, 0x73,
0x00, 0x22, 0x34, 0x02, 0x0d, 0x3a, 0x26, 0x11, 0x45, 0xa2, 0xeb, 0x54, 0xa2, 0xd7, 0x51, 0x14,
0x89, 0xd0, 0xdf, 0x15, 0x60, 0xd6, 0xb7, 0xe7, 0x8f, 0x6e, 0x0e, 0xe9, 0x49, 0x83, 0xa7, 0x14,
0xf2, 0xab, 0x51, 0xd1, 0x79, 0x87, 0xf3, 0xca, 0x37, 0xbc, 0x25, 0xd1, 0xcf, 0xd0, 0x07, 0x86,
0xbc, 0x47, 0x01, 0x42, 0x9b, 0x31, 0xe4, 0xcc, 0x40, 0x68, 0x27, 0xe1, 0x92, 0xac, 0x44, 0xd2,
0xd4, 0x5f, 0x11, 0x60, 0xc6, 0x7d, 0x18, 0x05, 0xad, 0x0c, 0x1f, 0x67, 0xdd, 0xdb, 0x64, 0xf9,
0xe1, 0xbb, 0x76, 0xe2, 0x0a, 0x15, 0xe4, 0x35, 0xf1, 0x62, 0xa8, 0x3f, 0x61, 0x7b, 0x82, 0xc4,
0x80, 0xbe, 0x14, 0x20, 0xed, 0xda, 0x26, 0x0c, 0x9d, 0xba, 0x0e, 0xee, 0x81, 0x86, 0x4e, 0x5d,
0x03, 0x76, 0x1d, 0xc5, 0xab, 0x54, 0xa4, 0x57, 0xd1, 0x28, 0x91, 0xd0, 0x4f, 0x42, 0xca, 0xde,
0x97, 0x45, 0x57, 0x87, 0x0c, 0x50, 0xe3, 0x28, 0xc4, 0x5b, 0xfa, 0x80, 0x2b, 0x62, 0x45, 0x93,
0x56, 0xf9, 0x09, 0x98, 0x71, 0x6f, 0x4b, 0x86, 0x36, 0x4a, 0xc0, 0xde, 0x65, 0xa8, 0x59, 0xf0,
0xc2, 0x57, 0x46, 0x16, 0x4e, 0x4d, 0xc2, 0xb5, 0x7f, 0x1a, 0x6e, 0x12, 0x83, 0x9b, 0xac, 0xa1,
0xa5, 0xbf, 0x45, 0x4b, 0xbf, 0x2e, 0x5e, 0x19, 0x51, 0xfa, 0xad, 0x06, 0x65, 0x4a, 0x4c, 0xe2,
0x3f, 0x0a, 0xb0, 0x10, 0xb4, 0xea, 0x1c, 0x1a, 0xbd, 0x0f, 0x59, 0xa2, 0xce, 0x47, 0x5b, 0x83,
0x14, 0x31, 0x15, 0x53, 0x16, 0x6f, 0x0c, 0x1d, 0x36, 0x7d, 0x0b, 0x95, 0x24, 0x1e, 0x1a, 0xb2,
0x50, 0x33, 0x88, 0x4d, 0xab, 0x16, 0xb4, 0x48, 0x1d, 0x5a, 0xb5, 0x21, 0x2b, 0xda, 0x63, 0x56,
0x6d, 0xfd, 0x46, 0xf8, 0xd8, 0xe9, 0x93, 0x94, 0x87, 0x7a, 0x37, 0xd6, 0xaf, 0x06, 0x36, 0x5a,
0x20, 0x36, 0xfa, 0x43, 0x01, 0xe6, 0x06, 0x96, 0xb2, 0x43, 0xd7, 0x4e, 0xc2, 0x16, 0xbd, 0xa3,
0x56, 0x4a, 0xa6, 0x95, 0x7a, 0x88, 0xc6, 0xaa, 0xd4, 0xa3, 0x37, 0x50, 0xd4, 0x1a, 0x91, 0x69,
0xff, 0x7c, 0xc0, 0xb2, 0x37, 0x7a, 0x6b, 0x88, 0xd3, 0x09, 0x5e, 0x95, 0xcf, 0xaf, 0x8f, 0x43,
0xc2, 0xfd, 0x95, 0xb7, 0x7e, 0x11, 0xed, 0xd1, 0xae, 0xdf, 0x68, 0x63, 0x44, 0xbf, 0x2f, 0xc0,
0x42, 0xd0, 0xe2, 0x79, 0xa8, 0x25, 0x0e, 0x59, 0x69, 0x0f, 0xed, 0xfc, 0xbc, 0x16, 0x2b, 0x63,
0xb6, 0xd2, 0x4a, 0xd4, 0x56, 0xda, 0xf8, 0x52, 0x80, 0xb3, 0x0d, 0xad, 0x13, 0x2c, 0xf2, 0x46,
0xb2, 0xd4, 0xee, 0xed, 0x12, 0x89, 0x76, 0x85, 0x47, 0xef, 0x73, 0x94, 0x96, 0xd6, 0x56, 0xba,
0xad, 0x55, 0x4d, 0x6f, 0xad, 0xb5, 0x70, 0x97, 0xca, 0xbb, 0xc6, 0xb2, 0x94, 0x9e, 0x6a, 0xac,
0x71, 0x0e, 0xc4, 0x31, 0xad, 0x3d, 0x5d, 0xff, 0xb0, 0xd9, 0xee, 0xfd, 0x5a, 0x6c, 0xfe, 0x0e,
0x23, 0xa5, 0x3b, 0xca, 0xc4, 0xa5, 0xaf, 0xde, 0x5f, 0xff, 0x77, 0x16, 0xf4, 0x33, 0x0a, 0xfd,
0xac, 0xd4, 0xee, 0x7d, 0x76, 0x7f, 0x7d, 0x7f, 0x8a, 0x32, 0x7c, 0xfb, 0xff, 0x05, 0x00, 0x00,
0xff, 0xff, 0x70, 0x0a, 0xb0, 0x29, 0xa7, 0x8e, 0x00, 0x00,
}