Class: ArgoWorkflows::EventServiceApi

Inherits:
Object
  • Object
show all
Defined in:
lib/argo_workflows/api/event_service_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ EventServiceApi

Returns a new instance of EventServiceApi.



19
20
21
# File 'lib/argo_workflows/api/event_service_api.rb', line 19

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



17
18
19
# File 'lib/argo_workflows/api/event_service_api.rb', line 17

def api_client
  @api_client
end

Instance Method Details

#event_service_list_workflow_event_bindings(namespace, opts = {}) ⇒ IoArgoprojWorkflowV1alpha1WorkflowEventBindingList

Parameters:

  • namespace
  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :list_options_label_selector (String)

    A selector to restrict the list of returned objects by their labels. Defaults to everything. +optional.

  • :list_options_field_selector (String)

    A selector to restrict the list of returned objects by their fields. Defaults to everything. +optional.

  • :list_options_watch (BOOLEAN)

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion. +optional.

  • :list_options_allow_watch_bookmarks (BOOLEAN)

    allowWatchBookmarks requests watch events with type "BOOKMARK". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. +optional.

  • :list_options_resource_version (String)

    resourceVersion sets a constraint on what resource versions a request may be served from. See kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset +optional

  • :list_options_resource_version_match (String)

    resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset +optional

  • :list_options_timeout_seconds (String)

    Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.

  • :list_options_limit (String)

    limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

  • :list_options_continue (String)

    The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the "next key". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

  • :list_options_send_initial_events (BOOLEAN)

    `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic "Bookmark" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `"io.k8s.initial-events-end": "true"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as "data at least as new as the provided `resourceVersion`" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as "consistent read" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=""` or `resourceVersion="0"` (for backward compatibility reasons) and to false otherwise. +optional

Returns:



35
36
37
38
# File 'lib/argo_workflows/api/event_service_api.rb', line 35

def event_service_list_workflow_event_bindings(namespace, opts = {})
  data, _status_code, _headers = event_service_list_workflow_event_bindings_with_http_info(namespace, opts)
  data
end

#event_service_list_workflow_event_bindings_with_http_info(namespace, opts = {}) ⇒ Array<(IoArgoprojWorkflowV1alpha1WorkflowEventBindingList, Fixnum, Hash)>

Returns IoArgoprojWorkflowV1alpha1WorkflowEventBindingList data, response status code and response headers.

Parameters:

  • namespace
  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :list_options_label_selector (String)

    A selector to restrict the list of returned objects by their labels. Defaults to everything. +optional.

  • :list_options_field_selector (String)

    A selector to restrict the list of returned objects by their fields. Defaults to everything. +optional.

  • :list_options_watch (BOOLEAN)

    Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion. +optional.

  • :list_options_allow_watch_bookmarks (BOOLEAN)

    allowWatchBookmarks requests watch events with type &quot;BOOKMARK&quot;. Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server&#39;s discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. +optional.

  • :list_options_resource_version (String)

    resourceVersion sets a constraint on what resource versions a request may be served from. See kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset +optional

  • :list_options_resource_version_match (String)

    resourceVersionMatch determines how resourceVersion is applied to list calls. It is highly recommended that resourceVersionMatch be set for list calls where resourceVersion is set See kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions for details. Defaults to unset +optional

  • :list_options_timeout_seconds (String)

    Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.

  • :list_options_limit (String)

    limit is a maximum number of responses to return for a list call. If more items exist, the server will set the &#x60;continue&#x60; field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.

  • :list_options_continue (String)

    The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the &quot;next key&quot;. This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.

  • :list_options_send_initial_events (BOOLEAN)

    &#x60;sendInitialEvents&#x3D;true&#x60; may be set together with &#x60;watch&#x3D;true&#x60;. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic &quot;Bookmark&quot; event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with &#x60;&quot;io.k8s.initial-events-end&quot;: &quot;true&quot;&#x60; annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When &#x60;sendInitialEvents&#x60; option is set, we require &#x60;resourceVersionMatch&#x60; option to also be set. The semantic of the watch request is as following: - &#x60;resourceVersionMatch&#x60; &#x3D; NotOlderThan is interpreted as &quot;data at least as new as the provided &#x60;resourceVersion&#x60;&quot; and the bookmark event is send when the state is synced to a &#x60;resourceVersion&#x60; at least as fresh as the one provided by the ListOptions. If &#x60;resourceVersion&#x60; is unset, this is interpreted as &quot;consistent read&quot; and the bookmark event is send when the state is synced at least to the moment when request started being processed. - &#x60;resourceVersionMatch&#x60; set to any other value or unset Invalid error is returned. Defaults to true if &#x60;resourceVersion&#x3D;&quot;&quot;&#x60; or &#x60;resourceVersion&#x3D;&quot;0&quot;&#x60; (for backward compatibility reasons) and to false otherwise. +optional

Returns:



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/argo_workflows/api/event_service_api.rb', line 53

def event_service_list_workflow_event_bindings_with_http_info(namespace, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: EventServiceApi.event_service_list_workflow_event_bindings ...'
  end
  # verify the required parameter 'namespace' is set
  if @api_client.config.client_side_validation && namespace.nil?
    fail ArgumentError, "Missing the required parameter 'namespace' when calling EventServiceApi.event_service_list_workflow_event_bindings"
  end
  # resource path
  local_var_path = '/api/v1/workflow-event-bindings/{namespace}'.sub('{' + 'namespace' + '}', namespace.to_s)

  # query parameters
  query_params = {}
  query_params[:'listOptions.labelSelector'] = opts[:'list_options_label_selector'] if !opts[:'list_options_label_selector'].nil?
  query_params[:'listOptions.fieldSelector'] = opts[:'list_options_field_selector'] if !opts[:'list_options_field_selector'].nil?
  query_params[:'listOptions.watch'] = opts[:'list_options_watch'] if !opts[:'list_options_watch'].nil?
  query_params[:'listOptions.allowWatchBookmarks'] = opts[:'list_options_allow_watch_bookmarks'] if !opts[:'list_options_allow_watch_bookmarks'].nil?
  query_params[:'listOptions.resourceVersion'] = opts[:'list_options_resource_version'] if !opts[:'list_options_resource_version'].nil?
  query_params[:'listOptions.resourceVersionMatch'] = opts[:'list_options_resource_version_match'] if !opts[:'list_options_resource_version_match'].nil?
  query_params[:'listOptions.timeoutSeconds'] = opts[:'list_options_timeout_seconds'] if !opts[:'list_options_timeout_seconds'].nil?
  query_params[:'listOptions.limit'] = opts[:'list_options_limit'] if !opts[:'list_options_limit'].nil?
  query_params[:'listOptions.continue'] = opts[:'list_options_continue'] if !opts[:'list_options_continue'].nil?
  query_params[:'listOptions.sendInitialEvents'] = opts[:'list_options_send_initial_events'] if !opts[:'list_options_send_initial_events'].nil?

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = nil
  auth_names = ['BearerToken']
  data, status_code, headers = @api_client.call_api(:GET, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'IoArgoprojWorkflowV1alpha1WorkflowEventBindingList')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: EventServiceApi#event_service_list_workflow_event_bindings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#event_service_receive_event(namespace, discriminator, body, opts = {}) ⇒ IoArgoprojWorkflowV1alpha1EventResponse

Parameters:

  • namespace

    The namespace for the io.argoproj.workflow.v1alpha1. This can be empty if the client has cluster scoped permissions. If empty, then the event is &quot;broadcast&quot; to workflow event binding in all namespaces.

  • discriminator

    Optional discriminator for the io.argoproj.workflow.v1alpha1. This should almost always be empty. Used for edge-cases where the event payload alone is not provide enough information to discriminate the event. This MUST NOT be used as security mechanism, e.g. to allow two clients to use the same access token, or to support webhooks on unsecured server. Instead, use access tokens. This is made available as &#x60;discriminator&#x60; in the event binding selector (&#x60;/spec/event/selector)&#x60;

  • body

    The event itself can be any data.

  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



107
108
109
110
# File 'lib/argo_workflows/api/event_service_api.rb', line 107

def event_service_receive_event(namespace, discriminator, body, opts = {})
  data, _status_code, _headers = event_service_receive_event_with_http_info(namespace, discriminator, body, opts)
  data
end

#event_service_receive_event_with_http_info(namespace, discriminator, body, opts = {}) ⇒ Array<(IoArgoprojWorkflowV1alpha1EventResponse, Fixnum, Hash)>

Returns IoArgoprojWorkflowV1alpha1EventResponse data, response status code and response headers.

Parameters:

  • namespace

    The namespace for the io.argoproj.workflow.v1alpha1. This can be empty if the client has cluster scoped permissions. If empty, then the event is &quot;broadcast&quot; to workflow event binding in all namespaces.

  • discriminator

    Optional discriminator for the io.argoproj.workflow.v1alpha1. This should almost always be empty. Used for edge-cases where the event payload alone is not provide enough information to discriminate the event. This MUST NOT be used as security mechanism, e.g. to allow two clients to use the same access token, or to support webhooks on unsecured server. Instead, use access tokens. This is made available as &#x60;discriminator&#x60; in the event binding selector (&#x60;/spec/event/selector)&#x60;

  • body

    The event itself can be any data.

  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/argo_workflows/api/event_service_api.rb', line 117

def event_service_receive_event_with_http_info(namespace, discriminator, body, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: EventServiceApi.event_service_receive_event ...'
  end
  # verify the required parameter 'namespace' is set
  if @api_client.config.client_side_validation && namespace.nil?
    fail ArgumentError, "Missing the required parameter 'namespace' when calling EventServiceApi.event_service_receive_event"
  end
  # verify the required parameter 'discriminator' is set
  if @api_client.config.client_side_validation && discriminator.nil?
    fail ArgumentError, "Missing the required parameter 'discriminator' when calling EventServiceApi.event_service_receive_event"
  end
  # verify the required parameter 'body' is set
  if @api_client.config.client_side_validation && body.nil?
    fail ArgumentError, "Missing the required parameter 'body' when calling EventServiceApi.event_service_receive_event"
  end
  # resource path
  local_var_path = '/api/v1/events/{namespace}/{discriminator}'.sub('{' + 'namespace' + '}', namespace.to_s).sub('{' + 'discriminator' + '}', discriminator.to_s)

  # query parameters
  query_params = {}

  # header parameters
  header_params = {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])

  # form parameters
  form_params = {}

  # http body (model)
  post_body = @api_client.object_to_http_body(body)
  auth_names = ['BearerToken']
  data, status_code, headers = @api_client.call_api(:POST, local_var_path,
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => 'IoArgoprojWorkflowV1alpha1EventResponse')
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: EventServiceApi#event_service_receive_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end