Class: Google::Apis::DlpV2::GooglePrivacyDlpV2CloudStorageRegexFileSet

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dlp_v2/classes.rb,
lib/google/apis/dlp_v2/representations.rb,
lib/google/apis/dlp_v2/representations.rb

Overview

Message representing a set of files in a Cloud Storage bucket. Regular expressions are used to allow fine-grained control over which files in the bucket to include. Included files are those that match at least one item in include_regex and do not match any items in exclude_regex. Note that a file that matches items from both lists will not be included. For a match to occur, the entire file path (i.e., everything in the url after the bucket name) must match the regular expression. For example, given the input bucket_name: "mybucket", include_regex: ["directory1/.*"], exclude_regex: ["directory1/ excluded.*"]: * gs://mybucket/directory1/myfile will be included * gs:// mybucket/directory1/directory2/myfile will be included (.* matches across / ) * gs://mybucket/directory0/directory1/myfile will not be included (the full path doesn't match any items in include_regex) * gs://mybucket/ directory1/excludedfile will not be included (the path matches an item in exclude_regex) If include_regex is left empty, it will match all files by default (this is equivalent to setting include_regex: [".*"]). Some other common use cases: * bucket_name: "mybucket", exclude_regex: [".*\.pdf"] will include all files in mybucket except for .pdf files * bucket_name: " mybucket", include_regex: ["directory/[^/]+"] will include all files directly under gs://mybucket/directory/, without matching across /

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GooglePrivacyDlpV2CloudStorageRegexFileSet

Returns a new instance of GooglePrivacyDlpV2CloudStorageRegexFileSet.



1437
1438
1439
# File 'lib/google/apis/dlp_v2/classes.rb', line 1437

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#bucket_nameString

The name of a Cloud Storage bucket. Required. Corresponds to the JSON property bucketName

Returns:

  • (String)


1415
1416
1417
# File 'lib/google/apis/dlp_v2/classes.rb', line 1415

def bucket_name
  @bucket_name
end

#exclude_regexArray<String>

A list of regular expressions matching file paths to exclude. All files in the bucket that match at least one of these regular expressions will be excluded from the scan. Regular expressions use RE2 syntax; a guide can be found under the google/re2 repository on GitHub. Corresponds to the JSON property excludeRegex

Returns:

  • (Array<String>)


1424
1425
1426
# File 'lib/google/apis/dlp_v2/classes.rb', line 1424

def exclude_regex
  @exclude_regex
end

#include_regexArray<String>

A list of regular expressions matching file paths to include. All files in the bucket that match at least one of these regular expressions will be included in the set of files, except for those that also match an item in exclude_regex. Leaving this field empty will match all files by default (this is equivalent to including .* in the list). Regular expressions use RE2 syntax; a guide can be found under the google/re2 repository on GitHub. Corresponds to the JSON property includeRegex

Returns:

  • (Array<String>)


1435
1436
1437
# File 'lib/google/apis/dlp_v2/classes.rb', line 1435

def include_regex
  @include_regex
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1442
1443
1444
1445
1446
# File 'lib/google/apis/dlp_v2/classes.rb', line 1442

def update!(**args)
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
  @exclude_regex = args[:exclude_regex] if args.key?(:exclude_regex)
  @include_regex = args[:include_regex] if args.key?(:include_regex)
end