module GClouder::Resources::Project::IAMPolicyBinding::Remote
Public Class Methods
list()
click to toggle source
# File lib/gclouder/resources/project/iam_policy_binding.rb, line 259 def self.list resources.each_with_object({ "global" => [] }) do |data, collection| data["name"] = data["role"].gsub("roles/", "") data.delete("role") collection["global"] << data end end
policy_member?(project, role, member)
click to toggle source
# File lib/gclouder/resources/project/iam_policy_binding.rb, line 271 def self.policy_member?(project, role, member) bindings = gcloud("--format json projects get-iam-policy #{project} | jq '.bindings[] | select(.role == \"roles/#{role}\")'", force: true) return false if bindings.empty? fatal "could not get policy bindings for project: #{project}" unless bindings.key?("members") bindings["members"].include?(member["name"]) end
project_id()
click to toggle source
# File lib/gclouder/resources/project/iam_policy_binding.rb, line 278 def self.project_id project["project_id"] end
resources()
click to toggle source
# File lib/gclouder/resources/project/iam_policy_binding.rb, line 267 def self.resources gcloud("--format json projects get-iam-policy #{project_id} | jq .bindings", force: true) end