google-cloud-storage-control-v2 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -80,6 +80,58 @@ module Google
80
80
  "projects/#{project}/buckets/#{bucket}/folders/#{folder}"
81
81
  end
82
82
 
83
+ ##
84
+ # Create a fully-qualified IntelligenceConfig resource string.
85
+ #
86
+ # @overload intelligence_config_path(folder:, location:)
87
+ # The resource will be in the following format:
88
+ #
89
+ # `folders/{folder}/locations/{location}/intelligenceConfig`
90
+ #
91
+ # @param folder [String]
92
+ # @param location [String]
93
+ #
94
+ # @overload intelligence_config_path(org:, location:)
95
+ # The resource will be in the following format:
96
+ #
97
+ # `organizations/{org}/locations/{location}/intelligenceConfig`
98
+ #
99
+ # @param org [String]
100
+ # @param location [String]
101
+ #
102
+ # @overload intelligence_config_path(project:, location:)
103
+ # The resource will be in the following format:
104
+ #
105
+ # `projects/{project}/locations/{location}/intelligenceConfig`
106
+ #
107
+ # @param project [String]
108
+ # @param location [String]
109
+ #
110
+ # @return [::String]
111
+ def intelligence_config_path **args
112
+ resources = {
113
+ "folder:location" => (proc do |folder:, location:|
114
+ raise ::ArgumentError, "folder cannot contain /" if folder.to_s.include? "/"
115
+
116
+ "folders/#{folder}/locations/#{location}/intelligenceConfig"
117
+ end),
118
+ "location:org" => (proc do |org:, location:|
119
+ raise ::ArgumentError, "org cannot contain /" if org.to_s.include? "/"
120
+
121
+ "organizations/#{org}/locations/#{location}/intelligenceConfig"
122
+ end),
123
+ "location:project" => (proc do |project:, location:|
124
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
125
+
126
+ "projects/#{project}/locations/#{location}/intelligenceConfig"
127
+ end)
128
+ }
129
+
130
+ resource = resources[args.keys.sort.join(":")]
131
+ raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
132
+ resource.call(**args)
133
+ end
134
+
83
135
  ##
84
136
  # Create a fully-qualified ManagedFolder resource string.
85
137
  #