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

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/dlp_v2/classes.rb,
generated/google/apis/dlp_v2/representations.rb,
generated/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.



828
829
830
# File 'generated/google/apis/dlp_v2/classes.rb', line 828

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)


806
807
808
# File 'generated/google/apis/dlp_v2/classes.rb', line 806

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


815
816
817
# File 'generated/google/apis/dlp_v2/classes.rb', line 815

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


826
827
828
# File 'generated/google/apis/dlp_v2/classes.rb', line 826

def include_regex
  @include_regex
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



833
834
835
836
837
# File 'generated/google/apis/dlp_v2/classes.rb', line 833

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