Class: VoiceML::VoiceV1ConnectionPoliciesResource

Inherits:
Object
  • Object
show all
Defined in:
lib/voiceml/resources/voice_v1.rb

Overview

/v1/ConnectionPolicies + /v1/ConnectionPolicies/Sid + nested /Targets

Constant Summary collapse

TARGET_FIELDS =
{
  'Target' => :target,
  'FriendlyName' => :friendly_name,
  'Priority' => :priority,
  'Weight' => :weight,
  'Enabled' => :enabled
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ VoiceV1ConnectionPoliciesResource

Returns a new instance of VoiceV1ConnectionPoliciesResource.



154
155
156
# File 'lib/voiceml/resources/voice_v1.rb', line 154

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(friendly_name: nil) ⇒ Object



164
165
166
167
168
# File 'lib/voiceml/resources/voice_v1.rb', line 164

def create(friendly_name: nil)
  form = {}
  form['FriendlyName'] = friendly_name unless friendly_name.nil?
  VoiceV1ConnectionPolicy.from_hash(@transport.request(:post, '/v1/ConnectionPolicies', form: form))
end

#create_target(connection_policy_sid, target:, friendly_name: nil, priority: nil, weight: nil, enabled: nil) ⇒ Object



194
195
196
197
198
199
200
# File 'lib/voiceml/resources/voice_v1.rb', line 194

def create_target(connection_policy_sid, target:, friendly_name: nil, priority: nil, weight: nil, enabled: nil)
  kwargs = { target: target, friendly_name: friendly_name, priority: priority, weight: weight, enabled: enabled }
  VoiceV1ConnectionPolicyTarget.from_hash(
    @transport.request(:post, "/v1/ConnectionPolicies/#{connection_policy_sid}/Targets",
                       form: build_target_form(kwargs))
  )
end

#delete(sid) ⇒ Object



180
181
182
183
# File 'lib/voiceml/resources/voice_v1.rb', line 180

def delete(sid)
  @transport.request(:delete, "/v1/ConnectionPolicies/#{sid}")
  nil
end

#delete_target(connection_policy_sid, sid) ⇒ Object



215
216
217
218
# File 'lib/voiceml/resources/voice_v1.rb', line 215

def delete_target(connection_policy_sid, sid)
  @transport.request(:delete, "/v1/ConnectionPolicies/#{connection_policy_sid}/Targets/#{sid}")
  nil
end

#fetch(sid) ⇒ Object



170
171
172
# File 'lib/voiceml/resources/voice_v1.rb', line 170

def fetch(sid)
  VoiceV1ConnectionPolicy.from_hash(@transport.request(:get, "/v1/ConnectionPolicies/#{sid}"))
end

#fetch_target(connection_policy_sid, sid) ⇒ Object



202
203
204
205
206
# File 'lib/voiceml/resources/voice_v1.rb', line 202

def fetch_target(connection_policy_sid, sid)
  VoiceV1ConnectionPolicyTarget.from_hash(
    @transport.request(:get, "/v1/ConnectionPolicies/#{connection_policy_sid}/Targets/#{sid}")
  )
end

#list(page_size: nil) ⇒ Object



158
159
160
161
162
# File 'lib/voiceml/resources/voice_v1.rb', line 158

def list(page_size: nil)
  params = {}
  params['PageSize'] = page_size unless page_size.nil?
  VoiceV1ConnectionPolicyList.new(@transport.request(:get, '/v1/ConnectionPolicies', params: params))
end

#list_targets(connection_policy_sid, page_size: nil) ⇒ Object

--- /v1/ConnectionPolicies/ConnectionPolicySid/Targets ---



186
187
188
189
190
191
192
# File 'lib/voiceml/resources/voice_v1.rb', line 186

def list_targets(connection_policy_sid, page_size: nil)
  params = {}
  params['PageSize'] = page_size unless page_size.nil?
  VoiceV1ConnectionPolicyTargetList.new(
    @transport.request(:get, "/v1/ConnectionPolicies/#{connection_policy_sid}/Targets", params: params)
  )
end

#update(sid, friendly_name: nil) ⇒ Object



174
175
176
177
178
# File 'lib/voiceml/resources/voice_v1.rb', line 174

def update(sid, friendly_name: nil)
  form = {}
  form['FriendlyName'] = friendly_name unless friendly_name.nil?
  VoiceV1ConnectionPolicy.from_hash(@transport.request(:post, "/v1/ConnectionPolicies/#{sid}", form: form))
end

#update_target(connection_policy_sid, sid, **kwargs) ⇒ Object



208
209
210
211
212
213
# File 'lib/voiceml/resources/voice_v1.rb', line 208

def update_target(connection_policy_sid, sid, **kwargs)
  VoiceV1ConnectionPolicyTarget.from_hash(
    @transport.request(:post, "/v1/ConnectionPolicies/#{connection_policy_sid}/Targets/#{sid}",
                       form: build_target_form(kwargs))
  )
end