Sha256: 7b8538df016ee2b4297734b8a8ad947dc23c1a6efeccd56015f9514306913157

Contents?: true

Size: 1.06 KB

Versions: 4

Compression:

Stored size: 1.06 KB

Contents

module Fog
  module Identity
    class HuaweiCloud
      class V3
        class Real
          def list_role_assignments(options = {})
            # Backwards compatibility name mapping, also serves as single pane of glass, since keystone broke
            # consistency in naming of options, just for this one API call
            name_mapping = {
              :group_id   => 'group.id',
              :role_id    => 'role.id',
              :domain_id  => 'scope.domain.id',
              :project_id => 'scope.project.id',
              :user_id    => 'user.id',
            }
            name_mapping.keys.each do |key|
              if (opt = options.delete(key))
                options[name_mapping[key]] = opt
              end
            end

            request(
              :expects => [200],
              :method  => 'GET',
              :path    => "role_assignments",
              :query   => options
            )
          end
        end

        class Mock
          def list_role_assignments(options = {})
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fog-huaweicloud-0.0.3 lib/fog/identity/huaweicloud/v3/requests/list_role_assignments.rb
fog-huaweicloud-0.0.2 lib/fog/identity/huaweicloud/v3/requests/list_role_assignments.rb
fog-huaweicloud-0.1.3 lib/fog/identity/huaweicloud/v3/requests/list_role_assignments.rb
fog-huaweicloud-0.1.2 lib/fog/identity/huaweicloud/v3/requests/list_role_assignments.rb