Class: Rafflesia::Episodes

Inherits:
Object
  • Object
show all
Defined in:
lib/rafflesia/episodes.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Episodes

Returns a new instance of Episodes.



9
10
11
# File 'lib/rafflesia/episodes.rb', line 9

def initialize(client)
  @client = client
end

Instance Method Details

#cancel(episode_id:, request_options: {}) ⇒ Rafflesia::EnvelopeEpisode

POST /v1/episodes/episode_id/cancel

Parameters:

  • episode_id (String)
  • request_options (Hash) (defaults to: {})

    (see Rafflesia::Types::RequestOptions)

Returns:



112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/rafflesia/episodes.rb', line 112

def cancel(
  episode_id:,
  request_options: {}
)
  response = @client.request(
    method: :post,
    path: "/v1/episodes/#{Rafflesia::Util.encode_path(episode_id)}/cancel",
    auth: true,
    request_options: request_options
  )
  result = Rafflesia::EnvelopeEpisode.new(response.body)
  result.last_response = Rafflesia::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
  result
end

#create(environment_release_id:, environment_task_id:, execution:, metadata:, runtime_profile_id:, seed:, timeout_seconds:, request_options: {}) ⇒ Rafflesia::EnvelopeEpisode

POST /v1/episodes

Parameters:

  • environment_release_id (String)
  • environment_task_id (String)
  • execution (Rafflesia::ExecutionSpec)
  • metadata (Hash{String => String})
  • runtime_profile_id (String)
  • seed (Integer)
  • timeout_seconds (Integer)
  • request_options (Hash) (defaults to: {})

    (see Rafflesia::Types::RequestOptions)

Returns:



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
# File 'lib/rafflesia/episodes.rb', line 58

def create(
  environment_release_id:,
  environment_task_id:,
  execution:,
  metadata:,
  runtime_profile_id:,
  seed:,
  timeout_seconds:,
  request_options: {}
)
  body = {
    'environment_release_id' => environment_release_id,
    'environment_task_id' => environment_task_id,
    'execution' => execution,
    'metadata' => ,
    'runtime_profile_id' => runtime_profile_id,
    'seed' => seed,
    'timeout_seconds' => timeout_seconds
  }
  response = @client.request(
    method: :post,
    path: '/v1/episodes',
    auth: true,
    body: body,
    request_options: request_options
  )
  result = Rafflesia::EnvelopeEpisode.new(response.body)
  result.last_response = Rafflesia::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
  result
end

#get(episode_id:, request_options: {}) ⇒ Rafflesia::EnvelopeEpisode

GET /v1/episodes/episode_id

Parameters:

  • episode_id (String)
  • request_options (Hash) (defaults to: {})

    (see Rafflesia::Types::RequestOptions)

Returns:



93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/rafflesia/episodes.rb', line 93

def get(
  episode_id:,
  request_options: {}
)
  response = @client.request(
    method: :get,
    path: "/v1/episodes/#{Rafflesia::Util.encode_path(episode_id)}",
    auth: true,
    request_options: request_options
  )
  result = Rafflesia::EnvelopeEpisode.new(response.body)
  result.last_response = Rafflesia::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
  result
end

#list(status: nil, rollout_group_id: nil, environment_release_id: nil, limit: 25, starting_after: nil, request_options: {}) ⇒ Rafflesia::EnvelopeListEpisode

GET /v1/episodes

Parameters:

  • status (String, nil) (defaults to: nil)
  • rollout_group_id (String, nil) (defaults to: nil)
  • environment_release_id (String, nil) (defaults to: nil)
  • limit (Integer, nil) (defaults to: 25)
  • starting_after (String, nil) (defaults to: nil)
  • request_options (Hash) (defaults to: {})

    (see Rafflesia::Types::RequestOptions)

Returns:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/rafflesia/episodes.rb', line 21

def list(
  status: nil,
  rollout_group_id: nil,
  environment_release_id: nil,
  limit: 25,
  starting_after: nil,
  request_options: {}
)
  params = {
    'status' => status,
    'rollout_group_id' => rollout_group_id,
    'environment_release_id' => environment_release_id,
    'limit' => limit,
    'starting_after' => starting_after
  }.compact
  response = @client.request(
    method: :get,
    path: '/v1/episodes',
    auth: true,
    params: params,
    request_options: request_options
  )
  result = Rafflesia::EnvelopeListEpisode.new(response.body)
  result.last_response = Rafflesia::Types::ApiResponse.new(http_status: response.code.to_i, http_headers: response.each_header.to_h, request_id: response["x-request-id"])
  result
end