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.



1430
1431
1432
# File 'lib/google/apis/dlp_v2/classes.rb', line 1430

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)


1408
1409
1410
# File 'lib/google/apis/dlp_v2/classes.rb', line 1408

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>)


1417
1418
1419
# File 'lib/google/apis/dlp_v2/classes.rb', line 1417

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>)


1428
1429
1430
# File 'lib/google/apis/dlp_v2/classes.rb', line 1428

def include_regex
  @include_regex
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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