putrole

package
v8.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2023 License: Apache-2.0 Imports: 13 Imported by: 4

Documentation

Overview

Adds and updates roles in the native realm.

Index

Constants

This section is empty.

Variables

View Source
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")

ErrBuildPath is returned in case of missing parameters within the build of the request.

Functions

This section is empty.

Types

type NewPutRole

type NewPutRole func(name string) *PutRole

NewPutRole type alias for index.

func NewPutRoleFunc

func NewPutRoleFunc(tp elastictransport.Interface) NewPutRole

NewPutRoleFunc returns a new instance of PutRole with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.

type PutRole

type PutRole struct {
	// contains filtered or unexported fields
}

func (*PutRole) Applications added in v8.9.0

func (r *PutRole) Applications(applications ...types.ApplicationPrivileges) *PutRole

Applications A list of application privilege entries. API name: applications

func (*PutRole) Cluster added in v8.9.0

func (r *PutRole) Cluster(clusters ...clusterprivilege.ClusterPrivilege) *PutRole

Cluster A list of cluster privileges. These privileges define the cluster-level actions for users with this role. API name: cluster

func (PutRole) Do

func (r PutRole) Do(ctx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a putrole.Response

func (*PutRole) Global added in v8.9.0

func (r *PutRole) Global(global map[string]json.RawMessage) *PutRole

Global An object defining global privileges. A global privilege is a form of cluster privilege that is request-aware. Support for global privileges is currently limited to the management of application privileges. API name: global

func (*PutRole) Header

func (r *PutRole) Header(key, value string) *PutRole

Header set a key, value pair in the PutRole headers map.

func (*PutRole) HttpRequest

func (r *PutRole) HttpRequest(ctx context.Context) (*http.Request, error)

HttpRequest returns the http.Request object built from the given parameters.

func (*PutRole) Indices added in v8.9.0

func (r *PutRole) Indices(indices ...types.IndicesPrivileges) *PutRole

Indices A list of indices permissions entries. API name: indices

func (*PutRole) Metadata added in v8.9.0

func (r *PutRole) Metadata(metadata types.Metadata) *PutRole

Metadata Optional metadata. Within the metadata object, keys that begin with an underscore (`_`) are reserved for system use. API name: metadata

func (PutRole) Perform added in v8.7.0

func (r PutRole) Perform(ctx context.Context) (*http.Response, error)

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*PutRole) Raw

func (r *PutRole) Raw(raw io.Reader) *PutRole

Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.

func (*PutRole) Refresh

func (r *PutRole) Refresh(refresh refresh.Refresh) *PutRole

Refresh If `true` (the default) then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` then do nothing with refreshes. API name: refresh

func (*PutRole) Request

func (r *PutRole) Request(req *Request) *PutRole

Request allows to set the request property with the appropriate payload.

func (*PutRole) RunAs added in v8.9.0

func (r *PutRole) RunAs(runas ...string) *PutRole

RunAs A list of users that the owners of this role can impersonate. API name: run_as

func (*PutRole) TransientMetadata added in v8.9.0

func (r *PutRole) TransientMetadata(transientmetadata *types.TransientMetadataConfig) *PutRole

TransientMetadata Indicates roles that might be incompatible with the current cluster license, specifically roles with document and field level security. When the cluster license doesn’t allow certain features for a given role, this parameter is updated dynamically to list the incompatible features. If `enabled` is `false`, the role is ignored, but is still listed in the response from the authenticate API. API name: transient_metadata

type Request

type Request struct {

	// Applications A list of application privilege entries.
	Applications []types.ApplicationPrivileges `json:"applications,omitempty"`
	// Cluster A list of cluster privileges. These privileges define the cluster-level
	// actions for users with this role.
	Cluster []clusterprivilege.ClusterPrivilege `json:"cluster,omitempty"`
	// Global An object defining global privileges. A global privilege is a form of cluster
	// privilege that is request-aware. Support for global privileges is currently
	// limited to the management of application privileges.
	Global map[string]json.RawMessage `json:"global,omitempty"`
	// Indices A list of indices permissions entries.
	Indices []types.IndicesPrivileges `json:"indices,omitempty"`
	// Metadata Optional metadata. Within the metadata object, keys that begin with an
	// underscore (`_`) are reserved for system use.
	Metadata types.Metadata `json:"metadata,omitempty"`
	// RunAs A list of users that the owners of this role can impersonate.
	RunAs []string `json:"run_as,omitempty"`
	// TransientMetadata Indicates roles that might be incompatible with the current cluster license,
	// specifically roles with document and field level security. When the cluster
	// license doesn’t allow certain features for a given role, this parameter is
	// updated dynamically to list the incompatible features. If `enabled` is
	// `false`, the role is ignored, but is still listed in the response from the
	// authenticate API.
	TransientMetadata *types.TransientMetadataConfig `json:"transient_metadata,omitempty"`
}

Request holds the request body struct for the package putrole

https://github.com/elastic/elasticsearch-specification/blob/ac9c431ec04149d9048f2b8f9731e3c2f7f38754/specification/security/put_role/SecurityPutRoleRequest.ts#L31-L80

func NewRequest added in v8.5.0

func NewRequest() *Request

NewRequest returns a Request

func (*Request) FromJSON added in v8.5.0

func (r *Request) FromJSON(data string) (*Request, error)

FromJSON allows to load an arbitrary json into the request structure

type Response added in v8.7.0

type Response struct {
	Role types.CreatedStatus `json:"role"`
}

func NewResponse added in v8.7.0

func NewResponse() *Response

NewResponse returns a Response

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL