diff --git a/.travis.yml b/.travis.yml index 705f0fb87..23da12792 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ install: - go get github.com/mattn/goveralls - go get golang.org/x/tools/cmd/goimports go: -- "1.11" - "1.13" - "1.14" - tip diff --git a/openstack/identity/v3/roles/requests.go b/openstack/identity/v3/roles/requests.go index 9656ff874..ada71e176 100644 --- a/openstack/identity/v3/roles/requests.go +++ b/openstack/identity/v3/roles/requests.go @@ -14,10 +14,24 @@ type ListOptsBuilder interface { // ListOpts provides options to filter the List results. type ListOpts struct { // DomainID filters the response by a domain ID. + // If this parameter is specified, only custom policies of the account will be returned. + // If not specified, all system permissions (including system-defined policies and roles) will be returned. DomainID string `q:"domain_id"` // Name filters the response by role name. Name string `q:"name"` + + DisplayName string `q:"display_name"` + + // This parameter is valid only when domain_id is left blank. + // policy: system-defined policy; role: system-defined role + PermissionType string `q:"permission_type"` + + // Display mode of the permission. The options include domain, project, and all. + Type string `q:"type"` + + // Service catalog, which corresponds to the catalog field in policies. + Catalog string `q:"catalog"` } // ToRoleListQuery formats a ListOpts into a query string. diff --git a/openstack/identity/v3/roles/results.go b/openstack/identity/v3/roles/results.go index 3519cd831..82aa7bada 100644 --- a/openstack/identity/v3/roles/results.go +++ b/openstack/identity/v3/roles/results.go @@ -19,8 +19,13 @@ type Role struct { // Links contains referencing links to the role. Links map[string]interface{} `json:"links"` - // Name is the role name - Name string `json:"name"` + Name string `json:"name"` + Description string `json:"description"` + DisplayName string `json:"display_name"` + Flag string `json:"flag"` + Catalog string `json:"catalog"` + Type string `json:"type"` + Policy Policy `json:"policy"` // Extra is a collection of miscellaneous key/values. Extra map[string]interface{} `json:"-"`