twilio-ruby 7.10.3 → 7.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +147 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +6 -0
  5. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +6 -0
  6. data/lib/twilio-ruby/rest/flex_api/v1.rb +0 -6
  7. data/lib/twilio-ruby/rest/iam/v1/role_permission.rb +319 -0
  8. data/lib/twilio-ruby/rest/iam/v1.rb +6 -0
  9. data/lib/twilio-ruby/rest/insights/v2/inbound.rb +570 -0
  10. data/lib/twilio-ruby/rest/insights/v2/outbound.rb +641 -0
  11. data/lib/twilio-ruby/rest/insights/v2/report.rb +940 -0
  12. data/lib/twilio-ruby/rest/insights/v2.rb +79 -0
  13. data/lib/twilio-ruby/rest/insights_base.rb +6 -1
  14. data/lib/twilio-ruby/rest/messaging/v3/typing_indicator.rb +247 -0
  15. data/lib/twilio-ruby/rest/messaging/v3.rb +40 -0
  16. data/lib/twilio-ruby/rest/messaging_base.rb +5 -0
  17. data/lib/twilio-ruby/rest/numbers/v1/embedded_session.rb +251 -0
  18. data/lib/twilio-ruby/rest/numbers/v1/sender_id_registration.rb +333 -0
  19. data/lib/twilio-ruby/rest/numbers/v1.rb +12 -0
  20. data/lib/twilio-ruby/rest/numbers/v2/application.rb +153 -8
  21. data/lib/twilio-ruby/rest/preview_iam/versionless/organization/user.rb +197 -0
  22. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +33 -4
  23. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +7 -0
  24. data/lib/twilio-ruby/rest/studio/v2/flow.rb +7 -0
  25. data/lib/twilio-ruby/rest/verify/v2/service/approve_challenge.rb +7 -7
  26. data/lib/twilio-ruby/rest/verify/v2/service/new_challenge.rb +7 -7
  27. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +4 -4
  28. data/lib/twilio-ruby/twiml/voice_response.rb +8 -3
  29. data/lib/twilio-ruby/version.rb +1 -1
  30. metadata +11 -3
  31. data/lib/twilio-ruby/rest/flex_api/v1/create_flex_instance.rb +0 -382
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13c4709c6208db756865224064d01e60be340e51f1ecc0823fc96f01a8d9ca37
4
- data.tar.gz: ccd4bb2e2e0d2bbad9a6dd7ab36650b54bda1da402f40dd6f629ad11d404aeac
3
+ metadata.gz: 654f600d7375dac408d82c8bc3e4c630acdcff055cd4d4935c705c43a6ab6447
4
+ data.tar.gz: 740ecf099e09bf3c8d5fe320ac559b29edf49178835897613f9d1fc2d4c09f61
5
5
  SHA512:
6
- metadata.gz: e39c2169a525f1f4415b19bd78c195db07fa6cbefa06e84401ebc4273c6d682ccea49005d5ae79e1615bb241947fd8b8148cd33aedd4e8b750c8349b7c42b4c5
7
- data.tar.gz: 53cc22ff9d0221c5476bbd36d7aa99c4f240c807e59f4d0d2221c4ca418d3083473595d7e56d14a4330996d041e49ff65ea0df3c65c1ddccc0502c92b8a80a74
6
+ metadata.gz: a9103b5e62f10f49c518df6c51e8883cf6dd67c33903513735cf6d2d1ecae4623dec95fccfc4fab47a4178adcec28e9b3ee1a22911f408379ab9d12cc5234fb9
7
+ data.tar.gz: 258dd448ce82efb495f7a99c4b1a7796b7c26f7f428498e0a6adee150f1c1c5a883a7a58b607f03e61972eeb425ec4a0337d9f4e248be0cd5ec6d265e9a2b1df
data/CHANGES.md CHANGED
@@ -1,6 +1,153 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2026-04-16] Version 7.10.5
5
+ ---------------------------
6
+ **Twiml**
7
+ - Add `backgroundNoiseReduction`, `speechTimeout`, `deepgramSmartFormat`, `ignoreBackchannel`, `events` attributes to `<ConversationRelay>`
8
+
9
+ **Api**
10
+ - Enabled incoming phone numbers(IPN) public apis in stage-ie1
11
+
12
+ **Data-ingress**
13
+ - ## 2026-04-09
14
+ - **Content updates**:
15
+ - Added parameter(s) to `GetDataSync`: datasetId
16
+ - ## 2026-04-09
17
+ - Minor updates (formatting, metadata)
18
+ - ## 2026-04-06
19
+ - Minor updates (formatting, metadata)
20
+ - ## 2026-04-06
21
+ - Minor updates (formatting, metadata)
22
+ - ## 2026-04-06
23
+ - Minor updates (formatting, metadata)
24
+ - ## 2026-04-06
25
+ - Minor updates (formatting, metadata)
26
+ - ## 2026-04-06
27
+ - **Content updates**:
28
+ - Added properties to `CloudAppSourceUpdate`: config
29
+ - Added properties to `CloudAppDatasetUpdate`: schedule
30
+ - Added properties to `WarehouseSourceUpdate`: config
31
+ - Added properties to `WarehouseDatasetUpdate`: schedule
32
+ - ## 2026-04-06
33
+ - **Content updates**:
34
+ - Updated description for `GetCloudAppPreviewResult`
35
+ - Updated description for `GetWarehousePreviewResult`
36
+ - Updated description for `GetDataSampleResult`
37
+ - ## 2026-03-27
38
+ - Add schema oneOf back without discriminator
39
+ - ## 2026-03-26
40
+ - Minor updates (formatting, metadata)
41
+ - ## 2026-03-26
42
+ - Added prod-us1 to supportedRealms for all endpoints
43
+ - ## 2026-03-25
44
+ - Minor updates (formatting, metadata)
45
+ - ## 2026-03-24
46
+ - Minor updates (formatting, metadata)
47
+ - ## 2026-03-24
48
+ - Minor updates (formatting, metadata)
49
+ - ## 2026-03-24
50
+ - Minor updates (formatting, metadata)
51
+ - ## 2026-03-24
52
+ - **Added 10 new path(s)**:
53
+ - `/v1/DataSyncs` (ListDataSyncs, TriggerDataSync)
54
+ - `/v1/DataSyncs/{SyncId}` (GetDataSync)
55
+ - `/v1/CloudAppSources/{SourceId}/Objects` (ListCloudAppObjects)
56
+ - `/v1/CloudAppSources/{SourceId}/Objects/{Name}/Properties` (ListCloudAppObjectProperties)
57
+ - `/v1/CloudAppSources/{SourceId}/Objects/{Name}/Preview` (PreviewCloudAppObjectData)
58
+ - `/v1/CloudAppSources/{SourceId}/Objects/{Name}/Preview/{OperationId}` (GetCloudAppPreviewResult)
59
+ - `/v1/WarehouseSources/{SourceId}/Preview` (PreviewWarehouseData)
60
+ - `/v1/WarehouseSources/{SourceId}/Preview/{OperationId}` (GetWarehousePreviewResult)
61
+ - `/v1/DataSample` (TriggerDataSample)
62
+ - `/v1/DataSample/{OperationId}` (GetDataSampleResult)
63
+ - ## 2026-03-24
64
+ - Minor updates (formatting, metadata)
65
+ - ## 2026-03-24
66
+ - Use `explode: true` for query params when getting by ids and limit max items to 25
67
+ - Make schema description for `Schema` more specific by using oneOf without discriminator for now.
68
+
69
+ **Insights**
70
+ - Added Insights Domains endpoints under `/v3/InsightsDomains/*` (Query + Metadata) to provide a versioned, GA-ready namespace alongside existing `/preview` endpoints.
71
+
72
+ **Mcp**
73
+ - # API Changes
74
+ - ## 2026-04-07
75
+ - **Added 1 new path(s)**:
76
+ - `/v1/docs` (InvokeDocsMcp)
77
+
78
+ **Memory**
79
+ - ## 2026-04-09
80
+ - **Removed 2 path(s)**:
81
+ - `/v1/Stores/{storeId}/Profiles/Import` (ListProfileImports, CreateProfilesImport)
82
+ - `/v1/Stores/{storeId}/Profiles/Import/{importId}` (FetchProfileImport)
83
+ - libraryVisibility: private, docsVisibility: private
84
+ - ## 2026-04-08
85
+ - **Content updates**:
86
+ - Added 301 response for `GetProfile` and `GetProfileTraits`
87
+ - Added canonical ID header to response for `GetProfile` and `GetProfileTraits`
88
+ - Add 308 response for `PatchProfile`
89
+ - ## 2026-04-07
90
+ - Added `AGENT` and `UNKNOWN` values to `ParticipantType` enum
91
+ - ## 2026-04-06
92
+ - **Content updates**:
93
+ - Added async operation support to `UpdateTraitGroup` 202 response (Operation-Id, Location, Retry-After headers; statusUrl in body)
94
+ - Added async operation support to `CreateDataMapping`, `UpdateDataMapping`, `DeleteDataMapping` 202 responses (Operation-Id, Location, Retry-After headers; statusUrl in body)
95
+ - ## 2026-03-30
96
+ - **Content updates**:
97
+ - Updated description for `FetchProfileMemory`
98
+ - ## 2026-03-27
99
+ - **Content updates**:
100
+ - Updated schema description for `TraitGroupCore`
101
+ - ## 2026-03-25
102
+ - **Content updates**:
103
+ - Removed properties from `TraitDefinition`: displayName
104
+ - ## 2026-03-25
105
+ - **Content updates**:
106
+ - Updated description for `UpdateProfileTraits`
107
+ - Updated description for `FetchIdentityResolutionSettings`
108
+ - Updated description for `UpdateIdentityResolutionSettings`
109
+ - Updated schema description for `IdentityResolutionSettingsCore`
110
+ - Updated schema description for `TraitGroupCore`
111
+ - Made all fields besides `idType` optional w/ defaults for schema `IdentifierConfig`
112
+ - ## 2026-03-24
113
+ - **Content updates**:
114
+ - Added properties to `OperationStatus`: result
115
+
116
+
117
+ [2026-03-24] Version 7.10.4
118
+ ---------------------------
119
+ **Data-ingress**
120
+ - # API Changes
121
+ - ## 2026-03-23
122
+ - Added stage-us1 to supportedRealms for all endpoints
123
+ - ## 2026-03-20
124
+ - **Content updates**:
125
+ - Removed estimatedCompletionTime from `LongRunningOperationResponse`
126
+ - Moved operationId from `LongRunningOperationResponse` to headers
127
+ - ## 2026-03-18
128
+ - **Added 1 new path(s)**:
129
+ - `/v1/ControlPlane/Operations/{OperationId}` (GetControlPlaneOperationStatus)
130
+ - ## 2026-03-11
131
+ - Minor updates (formatting, metadata)
132
+ - ## 2026-03-11
133
+ - Minor updates (formatting, metadata)
134
+ - ## 2026-03-11
135
+ - Minor updates (formatting, metadata)
136
+ - ## 2026-03-11
137
+ - Minor updates (formatting, metadata)
138
+ - ## 2026-03-11
139
+ - Minor updates (formatting, metadata)
140
+ - ## 2026-03-05
141
+ - Initial release with 10 paths and 22 operations
142
+
143
+ **Memory**
144
+ - ## 2026-03-19
145
+ - **Added 1 new path(s)**:
146
+ - `/v1/ControlPlane/Operations/{operationId}` (FetchOperation)
147
+ - ## 2026-03-11
148
+ - Minor updates (formatting, metadata)
149
+
150
+
4
151
  [2026-03-10] Version 7.10.3
5
152
  ---------------------------
6
153
  **Library - Chore**
data/README.md CHANGED
@@ -39,13 +39,13 @@ This library supports the following Ruby implementations:
39
39
  To install using [Bundler][bundler] grab the latest stable version:
40
40
 
41
41
  ```ruby
42
- gem 'twilio-ruby', '~> 7.10.3'
42
+ gem 'twilio-ruby', '~> 7.10.5'
43
43
  ```
44
44
 
45
45
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
46
46
 
47
47
  ```bash
48
- gem install twilio-ruby -v 7.10.3
48
+ gem install twilio-ruby -v 7.10.5
49
49
  ```
50
50
 
51
51
  To build and install the development branch yourself from the latest source:
@@ -52,6 +52,7 @@ module Twilio
52
52
  # @param [String] intelligence_service The SID or unique name of the [Intelligence Service](https://www.twilio.com/docs/conversational-intelligence/api/service-resource) for persisting transcripts and running post-call Language Operators
53
53
  # @param [String] conversation_configuration The ID of the Conversations Configuration for customizing conversation behavior in Intelligence Service
54
54
  # @param [String] conversation_id The ID of the Conversation for associating this Transcription with an existing Conversation in Intelligence Service
55
+ # @param [String] configuration_id The ID of the RealTimeTranscription Configuration for configuring all the non-default behaviors in one go.
55
56
  # @param [Boolean] enable_provider_data Whether the callback includes raw provider data.
56
57
  # @return [TranscriptionInstance] Created TranscriptionInstance
57
58
  def create(
@@ -71,6 +72,7 @@ module Twilio
71
72
  intelligence_service: :unset,
72
73
  conversation_configuration: :unset,
73
74
  conversation_id: :unset,
75
+ configuration_id: :unset,
74
76
  enable_provider_data: :unset
75
77
  )
76
78
 
@@ -91,6 +93,7 @@ module Twilio
91
93
  'IntelligenceService' => intelligence_service,
92
94
  'ConversationConfiguration' => conversation_configuration,
93
95
  'ConversationId' => conversation_id,
96
+ 'ConfigurationId' => configuration_id,
94
97
  'EnableProviderData' => enable_provider_data,
95
98
  })
96
99
 
@@ -127,6 +130,7 @@ module Twilio
127
130
  # @param [String] intelligence_service The SID or unique name of the [Intelligence Service](https://www.twilio.com/docs/conversational-intelligence/api/service-resource) for persisting transcripts and running post-call Language Operators
128
131
  # @param [String] conversation_configuration The ID of the Conversations Configuration for customizing conversation behavior in Intelligence Service
129
132
  # @param [String] conversation_id The ID of the Conversation for associating this Transcription with an existing Conversation in Intelligence Service
133
+ # @param [String] configuration_id The ID of the RealTimeTranscription Configuration for configuring all the non-default behaviors in one go.
130
134
  # @param [Boolean] enable_provider_data Whether the callback includes raw provider data.
131
135
  # @return [TranscriptionInstance] Created TranscriptionInstance
132
136
  def create_with_metadata(
@@ -146,6 +150,7 @@ module Twilio
146
150
  intelligence_service: :unset,
147
151
  conversation_configuration: :unset,
148
152
  conversation_id: :unset,
153
+ configuration_id: :unset,
149
154
  enable_provider_data: :unset
150
155
  )
151
156
 
@@ -166,6 +171,7 @@ module Twilio
166
171
  'IntelligenceService' => intelligence_service,
167
172
  'ConversationConfiguration' => conversation_configuration,
168
173
  'ConversationId' => conversation_id,
174
+ 'ConfigurationId' => configuration_id,
169
175
  'EnableProviderData' => enable_provider_data,
170
176
  })
171
177
 
@@ -55,6 +55,7 @@ module Twilio
55
55
  # @param [String] content_variables For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
56
56
  # @param [RiskCheck] risk_check
57
57
  # @param [String] from The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
58
+ # @param [String] fallback_from A fallback SMS sender to use when the recipient cannot be reached over RCS. This parameter may only be used when also providing a [Messaging Service](https://twilio.com/docs/messaging/services) containing an RCS sender. The fallback SMS sender must be either a Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), or [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), hosted within Twilio and belong to the Account creating the Message.
58
59
  # @param [String] messaging_service_sid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
59
60
  # @param [String] body The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
60
61
  # @param [Array[String]] media_url The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
@@ -81,6 +82,7 @@ module Twilio
81
82
  content_variables: :unset,
82
83
  risk_check: :unset,
83
84
  from: :unset,
85
+ fallback_from: :unset,
84
86
  messaging_service_sid: :unset,
85
87
  body: :unset,
86
88
  media_url: :unset,
@@ -108,6 +110,7 @@ module Twilio
108
110
  'ContentVariables' => content_variables,
109
111
  'RiskCheck' => risk_check,
110
112
  'From' => from,
113
+ 'FallbackFrom' => fallback_from,
111
114
  'MessagingServiceSid' => messaging_service_sid,
112
115
  'Body' => body,
113
116
  'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
@@ -150,6 +153,7 @@ module Twilio
150
153
  # @param [String] content_variables For [Content Editor/API](https://www.twilio.com/docs/content) only: Key-value pairs of [Template variables](https://www.twilio.com/docs/content/using-variables-with-content-api) and their substitution values. `content_sid` parameter must also be provided. If values are not defined in the `content_variables` parameter, the [Template's default placeholder values](https://www.twilio.com/docs/content/content-api-resources#create-templates) are used.
151
154
  # @param [RiskCheck] risk_check
152
155
  # @param [String] from The sender's Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), [Wireless SIM](https://www.twilio.com/docs/iot/wireless/programmable-wireless-send-machine-machine-sms-commands), [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), or [channel address](https://www.twilio.com/docs/messaging/channels) (e.g., `whatsapp:+15554449999`). The value of the `from` parameter must be a sender that is hosted within Twilio and belongs to the Account creating the Message. If you are using `messaging_service_sid`, this parameter can be empty (Twilio assigns a `from` value from the Messaging Service's Sender Pool) or you can provide a specific sender from your Sender Pool.
156
+ # @param [String] fallback_from A fallback SMS sender to use when the recipient cannot be reached over RCS. This parameter may only be used when also providing a [Messaging Service](https://twilio.com/docs/messaging/services) containing an RCS sender. The fallback SMS sender must be either a Twilio phone number (in [E.164](https://en.wikipedia.org/wiki/E.164) format), [alphanumeric sender ID](https://www.twilio.com/docs/sms/quickstart), or [short code](https://www.twilio.com/en-us/messaging/channels/sms/short-codes), hosted within Twilio and belong to the Account creating the Message.
153
157
  # @param [String] messaging_service_sid The SID of the [Messaging Service](https://www.twilio.com/docs/messaging/services) you want to associate with the Message. When this parameter is provided and the `from` parameter is omitted, Twilio selects the optimal sender from the Messaging Service's Sender Pool. You may also provide a `from` parameter if you want to use a specific Sender from the Sender Pool.
154
158
  # @param [String] body The text content of the outgoing message. Can be up to 1,600 characters in length. SMS only: If the `body` contains more than 160 [GSM-7](https://www.twilio.com/docs/glossary/what-is-gsm-7-character-encoding) characters (or 70 [UCS-2](https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encoding) characters), the message is segmented and charged accordingly. For long `body` text, consider using the [send_as_mms parameter](https://www.twilio.com/blog/mms-for-long-text-messages).
155
159
  # @param [Array[String]] media_url The URL of media to include in the Message content. `jpeg`, `jpg`, `gif`, and `png` file types are fully supported by Twilio and content is formatted for delivery on destination devices. The media size limit is 5 MB for supported file types (`jpeg`, `jpg`, `png`, `gif`) and 500 KB for [other types](https://www.twilio.com/docs/messaging/guides/accepted-mime-types) of accepted media. To send more than one image in the message, provide multiple `media_url` parameters in the POST request. You can include up to ten `media_url` parameters per message. [International](https://support.twilio.com/hc/en-us/articles/223179808-Sending-and-receiving-MMS-messages) and [carrier](https://support.twilio.com/hc/en-us/articles/223133707-Is-MMS-supported-for-all-carriers-in-US-and-Canada-) limits apply.
@@ -176,6 +180,7 @@ module Twilio
176
180
  content_variables: :unset,
177
181
  risk_check: :unset,
178
182
  from: :unset,
183
+ fallback_from: :unset,
179
184
  messaging_service_sid: :unset,
180
185
  body: :unset,
181
186
  media_url: :unset,
@@ -203,6 +208,7 @@ module Twilio
203
208
  'ContentVariables' => content_variables,
204
209
  'RiskCheck' => risk_check,
205
210
  'From' => from,
211
+ 'FallbackFrom' => fallback_from,
206
212
  'MessagingServiceSid' => messaging_service_sid,
207
213
  'Body' => body,
208
214
  'MediaUrl' => Twilio.serialize_list(media_url) { |e| e },
@@ -24,7 +24,6 @@ module Twilio
24
24
  @assessments = nil
25
25
  @channel = nil
26
26
  @configuration = nil
27
- @create_flex_instance = nil
28
27
  @flex_flow = nil
29
28
  @insights_assessments_comment = nil
30
29
  @insights_conversations = nil
@@ -81,11 +80,6 @@ module Twilio
81
80
  @configuration ||= ConfigurationContext.new self
82
81
  end
83
82
  ##
84
- # @return [Twilio::REST::FlexApi::V1::createFlexInstanceContext]
85
- def create_flex_instance
86
- @create_flex_instance ||= CreateFlexInstanceContext.new self
87
- end
88
- ##
89
83
  # @param [String] sid The SID of the Flex Flow resource to fetch.
90
84
  # @return [Twilio::REST::FlexApi::V1::FlexFlowContext] if sid was passed.
91
85
  # @return [Twilio::REST::FlexApi::V1::FlexFlowList]
@@ -0,0 +1,319 @@
1
+ ##
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Iam
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
13
+ #
14
+
15
+
16
+ module Twilio
17
+ module REST
18
+ class Iam < IamBase
19
+ class V1 < Version
20
+ class RolePermissionList < ListResource
21
+
22
+ ##
23
+ # Initialize the RolePermissionList
24
+ # @param [Version] version Version that contains the resource
25
+ # @return [RolePermissionList] RolePermissionList
26
+ def initialize(version, role_sid: nil)
27
+ super(version)
28
+
29
+ # Path Solution
30
+ @solution = { role_sid: role_sid }
31
+ @uri = "/Roles/#{@solution[:role_sid]}/Permissions"
32
+
33
+ end
34
+
35
+ ##
36
+ # Lists RolePermissionInstance records from the API as a list.
37
+ # Unlike stream(), this operation is eager and will load `limit` records into
38
+ # memory before returning.
39
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
40
+ # guarantees to never return more than limit. Default is no limit
41
+ # @param [Integer] page_size Number of records to fetch per request, when
42
+ # not set will use the default value of 50 records. If no page_size is defined
43
+ # but a limit is defined, stream() will attempt to read the limit with the most
44
+ # efficient page size, i.e. min(limit, 1000)
45
+ # @return [Array] Array of up to limit results
46
+ def list(limit: nil, page_size: nil)
47
+ self.stream(
48
+ limit: limit,
49
+ page_size: page_size
50
+ ).entries
51
+ end
52
+
53
+ ##
54
+ # Streams Instance records from the API as an Enumerable.
55
+ # This operation lazily loads records as efficiently as possible until the limit
56
+ # is reached.
57
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
58
+ # guarantees to never return more than limit. Default is no limit
59
+ # @param [Integer] page_size Number of records to fetch per request, when
60
+ # not set will use the default value of 50 records. If no page_size is defined
61
+ # but a limit is defined, stream() will attempt to read the limit with the most
62
+ # efficient page size, i.e. min(limit, 1000)
63
+ # @return [Enumerable] Enumerable that will yield up to limit results
64
+ def stream(limit: nil, page_size: nil)
65
+ limits = @version.read_limits(limit, page_size)
66
+
67
+ page = self.page(
68
+ page_size: limits[:page_size], )
69
+
70
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
71
+ end
72
+
73
+ ##
74
+ # Lists RolePermissionPageMetadata records from the API as a list.
75
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
76
+ # guarantees to never return more than limit. Default is no limit
77
+ # @param [Integer] page_size Number of records to fetch per request, when
78
+ # not set will use the default value of 50 records. If no page_size is defined
79
+ # but a limit is defined, stream() will attempt to read the limit with the most
80
+ # efficient page size, i.e. min(limit, 1000)
81
+ # @return [Array] Array of up to limit results
82
+ def list_with_metadata(limit: nil, page_size: nil)
83
+ limits = @version.read_limits(limit, page_size)
84
+ params = Twilio::Values.of({
85
+
86
+ 'PageSize' => limits[:page_size],
87
+ });
88
+ headers = Twilio::Values.of({})
89
+
90
+ response = @version.page('GET', @uri, params: params, headers: headers)
91
+
92
+ RolePermissionPageMetadata.new(@version, response, @solution, limits[:limit])
93
+ end
94
+
95
+ ##
96
+ # When passed a block, yields RolePermissionInstance records from the API.
97
+ # This operation lazily loads records as efficiently as possible until the limit
98
+ # is reached.
99
+ def each
100
+ limits = @version.read_limits
101
+
102
+ page = self.page(page_size: limits[:page_size], )
103
+
104
+ @version.stream(page,
105
+ limit: limits[:limit],
106
+ page_limit: limits[:page_limit]).each {|x| yield x}
107
+ end
108
+
109
+ ##
110
+ # Retrieve a single page of RolePermissionInstance records from the API.
111
+ # Request is executed immediately.
112
+ # @param [String] page_token PageToken provided by the API
113
+ # @param [Integer] page_number Page Number, this value is simply for client state
114
+ # @param [Integer] page_size Number of records to return, defaults to 50
115
+ # @return [Page] Page of RolePermissionInstance
116
+ def page(page_token: :unset, page_number: :unset,page_size: :unset)
117
+ params = Twilio::Values.of({
118
+ 'PageToken' => page_token,
119
+ 'Page' => page_number,
120
+ 'PageSize' => page_size,
121
+ })
122
+ headers = Twilio::Values.of({})
123
+
124
+
125
+
126
+ response = @version.page('GET', @uri, params: params, headers: headers)
127
+
128
+ RolePermissionPage.new(@version, response, @solution)
129
+ end
130
+
131
+ ##
132
+ # Retrieve a single page of RolePermissionInstance records from the API.
133
+ # Request is executed immediately.
134
+ # @param [String] target_url API-generated URL for the requested results page
135
+ # @return [Page] Page of RolePermissionInstance
136
+ def get_page(target_url)
137
+ response = @version.domain.request(
138
+ 'GET',
139
+ target_url
140
+ )
141
+ RolePermissionPage.new(@version, response, @solution)
142
+ end
143
+
144
+
145
+
146
+ # Provide a user friendly representation
147
+ def to_s
148
+ '#<Twilio.Iam.V1.RolePermissionList>'
149
+ end
150
+ end
151
+
152
+ class RolePermissionPage < Page
153
+ ##
154
+ # Initialize the RolePermissionPage
155
+ # @param [Version] version Version that contains the resource
156
+ # @param [Response] response Response from the API
157
+ # @param [Hash] solution Path solution for the resource
158
+ # @return [RolePermissionPage] RolePermissionPage
159
+ def initialize(version, response, solution)
160
+ super(version, response)
161
+
162
+
163
+ # Path Solution
164
+ @solution = solution
165
+ end
166
+
167
+ ##
168
+ # Build an instance of RolePermissionInstance
169
+ # @param [Hash] payload Payload response from the API
170
+ # @return [RolePermissionInstance] RolePermissionInstance
171
+ def get_instance(payload)
172
+ RolePermissionInstance.new(@version, payload, role_sid: @solution[:role_sid])
173
+ end
174
+
175
+ ##
176
+ # Provide a user friendly representation
177
+ def to_s
178
+ '<Twilio.Iam.V1.RolePermissionPage>'
179
+ end
180
+ end
181
+
182
+ class RolePermissionPageMetadata < PageMetadata
183
+ attr_reader :role_permission_page
184
+
185
+ def initialize(version, response, solution, limit)
186
+ super(version, response)
187
+ @role_permission_page = []
188
+ @limit = limit
189
+ key = get_key(response.body)
190
+ records = 0
191
+ while( limit != :unset && records < limit )
192
+ @role_permission_page << RolePermissionListResponse.new(version, @payload, key, limit - records)
193
+ @payload = self.next_page
194
+ break unless @payload
195
+ records += @payload.body[key].size
196
+ end
197
+ # Path Solution
198
+ @solution = solution
199
+ end
200
+
201
+ def each
202
+ @role_permission_page.each do |record|
203
+ yield record
204
+ end
205
+ end
206
+
207
+ def to_s
208
+ '<Twilio::REST::Iam::V1PageMetadata>';
209
+ end
210
+ end
211
+ class RolePermissionListResponse < InstanceListResource
212
+
213
+ # @param [Array<RolePermissionInstance>] instance
214
+ # @param [Hash{String => Object}] headers
215
+ # @param [Integer] status_code
216
+ def initialize(version, payload, key, limit = :unset)
217
+ data_list = payload.body[key]
218
+ if limit != :unset
219
+ data_list = data_list[0, limit]
220
+ end
221
+ @role_permission = data_list.map do |data|
222
+ RolePermissionInstance.new(version, data)
223
+ end
224
+ @headers = payload.headers
225
+ @status_code = payload.status_code
226
+ end
227
+
228
+ def role_permission
229
+ @role_permission
230
+ end
231
+
232
+ def headers
233
+ @headers
234
+ end
235
+
236
+ def status_code
237
+ @status_code
238
+ end
239
+ end
240
+
241
+ class RolePermissionInstance < InstanceResource
242
+ ##
243
+ # Initialize the RolePermissionInstance
244
+ # @param [Version] version Version that contains the resource
245
+ # @param [Hash] payload payload that contains response from Twilio
246
+ # @param [String] account_sid The SID of the
247
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this RolePermission
248
+ # resource.
249
+ # @param [String] sid The SID of the Call resource to fetch.
250
+ # @return [RolePermissionInstance] RolePermissionInstance
251
+ def initialize(version, payload , role_sid: nil)
252
+ super(version)
253
+
254
+
255
+ # Marshaled Properties
256
+ @properties = {
257
+ 'sid' => payload['sid'],
258
+ 'namespace' => payload['namespace'],
259
+ 'product' => payload['product'],
260
+ 'resource' => payload['resource'],
261
+ 'action' => payload['action'],
262
+ 'external_description' => payload['external_description'],
263
+ }
264
+ end
265
+
266
+
267
+ ##
268
+ # @return [String] The unique string that identifies the Permission resource.
269
+ def sid
270
+ @properties['sid']
271
+ end
272
+
273
+ ##
274
+ # @return [String] The namespace of the permission (e.g., twilio).
275
+ def namespace
276
+ @properties['namespace']
277
+ end
278
+
279
+ ##
280
+ # @return [String] The product the permission belongs to (e.g., iam).
281
+ def product
282
+ @properties['product']
283
+ end
284
+
285
+ ##
286
+ # @return [String] The resource the permission applies to (e.g., roles).
287
+ def resource
288
+ @properties['resource']
289
+ end
290
+
291
+ ##
292
+ # @return [String] The action granted by the permission (e.g., read).
293
+ def action
294
+ @properties['action']
295
+ end
296
+
297
+ ##
298
+ # @return [String] The external description of the permission.
299
+ def external_description
300
+ @properties['external_description']
301
+ end
302
+
303
+ ##
304
+ # Provide a user friendly representation
305
+ def to_s
306
+ "<Twilio.Iam.V1.RolePermissionInstance>"
307
+ end
308
+
309
+ ##
310
+ # Provide a detailed, user friendly representation
311
+ def inspect
312
+ "<Twilio.Iam.V1.RolePermissionInstance>"
313
+ end
314
+ end
315
+
316
+ end
317
+ end
318
+ end
319
+ end
@@ -25,6 +25,7 @@ module Twilio
25
25
  @get_api_keys = nil
26
26
  @new_api_key = nil
27
27
  @o_auth_apps = nil
28
+ @role_permission = nil
28
29
  @token = nil
29
30
  end
30
31
 
@@ -67,6 +68,11 @@ module Twilio
67
68
  end
68
69
  end
69
70
  ##
71
+ # @return [Twilio::REST::Iam::V1::RolePermissionList]
72
+ def role_permission
73
+ @role_permission ||= RolePermissionList.new self
74
+ end
75
+ ##
70
76
  # @return [Twilio::REST::Iam::V1::TokenList]
71
77
  def token
72
78
  @token ||= TokenList.new self