carbon_ruby_sdk 0.2.34 → 0.2.35
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +127 -2
- data/lib/carbon_ruby_sdk/api/integrations_api.rb +298 -0
- data/lib/carbon_ruby_sdk/models/authentication_property.rb +32 -6
- data/lib/carbon_ruby_sdk/models/azure_blob_auth_request.rb +245 -0
- data/lib/carbon_ruby_sdk/models/azure_blob_file_sync_input.rb +379 -0
- data/lib/carbon_ruby_sdk/models/azure_blob_get_file_input.rb +226 -0
- data/lib/carbon_ruby_sdk/models/azure_blob_storage_authentication.rb +244 -0
- data/lib/carbon_ruby_sdk/models/data_source_type.rb +2 -1
- data/lib/carbon_ruby_sdk/models/data_source_type_nullable.rb +2 -1
- data/lib/carbon_ruby_sdk/models/one_drive_authentication.rb +250 -0
- data/lib/carbon_ruby_sdk/models/sharepoint_authentication.rb +1 -5
- data/lib/carbon_ruby_sdk/version.rb +1 -1
- data/lib/carbon_ruby_sdk.rb +5 -0
- data/spec/api/integrations_api_spec.rb +24 -0
- data/spec/models/authentication_property_spec.rb +12 -0
- data/spec/models/azure_blob_auth_request_spec.rb +40 -0
- data/spec/models/azure_blob_file_sync_input_spec.rb +112 -0
- data/spec/models/azure_blob_get_file_input_spec.rb +34 -0
- data/spec/models/azure_blob_storage_authentication_spec.rb +40 -0
- data/spec/models/one_drive_authentication_spec.rb +46 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8d6fb0f54090c63643bf089a081d545764e9b889db47e92849544392a941e39
|
4
|
+
data.tar.gz: 923f95de1ae3793c444c1b02e1f0cbd09f7c657d1bddde13567146fdeb515d42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '05565949db79a7439f2ff6acaf8c42e51ebf4b64ff54d835b4d508181b2b201a472185f4db8922fe801a53b17e650bd48765936c258c78b1a95b657bf3373494'
|
7
|
+
data.tar.gz: d252a3df6a15280c315dffdadfa2cf0ed2f22a54e2f8e8fe5e43a04f85981c6c25f614ecde43893a9f1329e20d3e3e0a9b30ed563250581f085948395496fb30
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
Connect external data to LLMs, no matter the source.
|
8
8
|
|
9
|
-
[![npm](https://img.shields.io/badge/gem-v0.2.
|
9
|
+
[![npm](https://img.shields.io/badge/gem-v0.2.35-blue)](https://rubygems.org/gems/carbon_ruby_sdk/versions/0.2.35)
|
10
10
|
|
11
11
|
</div>
|
12
12
|
|
@@ -56,6 +56,8 @@ Connect external data to LLMs, no matter the source.
|
|
56
56
|
* [`carbon.integrations.list_labels`](#carbonintegrationslist_labels)
|
57
57
|
* [`carbon.integrations.list_outlook_categories`](#carbonintegrationslist_outlook_categories)
|
58
58
|
* [`carbon.integrations.list_repos`](#carbonintegrationslist_repos)
|
59
|
+
* [`carbon.integrations.sync_azure_blob_files`](#carbonintegrationssync_azure_blob_files)
|
60
|
+
* [`carbon.integrations.sync_azure_blob_storage`](#carbonintegrationssync_azure_blob_storage)
|
59
61
|
* [`carbon.integrations.sync_confluence`](#carbonintegrationssync_confluence)
|
60
62
|
* [`carbon.integrations.sync_data_source_items`](#carbonintegrationssync_data_source_items)
|
61
63
|
* [`carbon.integrations.sync_files`](#carbonintegrationssync_files)
|
@@ -94,7 +96,7 @@ Connect external data to LLMs, no matter the source.
|
|
94
96
|
Add to Gemfile:
|
95
97
|
|
96
98
|
```ruby
|
97
|
-
gem 'carbon_ruby_sdk', '~> 0.2.
|
99
|
+
gem 'carbon_ruby_sdk', '~> 0.2.35'
|
98
100
|
```
|
99
101
|
|
100
102
|
## Getting Started<a id="getting-started"></a>
|
@@ -2096,6 +2098,129 @@ p result
|
|
2096
2098
|
---
|
2097
2099
|
|
2098
2100
|
|
2101
|
+
### `carbon.integrations.sync_azure_blob_files`<a id="carbonintegrationssync_azure_blob_files"></a>
|
2102
|
+
|
2103
|
+
After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name
|
2104
|
+
and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate
|
2105
|
+
data with the selected items or modify the sync behavior
|
2106
|
+
|
2107
|
+
#### 🛠️ Usage<a id="🛠️-usage"></a>
|
2108
|
+
|
2109
|
+
```ruby
|
2110
|
+
result = carbon.integrations.sync_azure_blob_files(
|
2111
|
+
ids: [
|
2112
|
+
{
|
2113
|
+
}
|
2114
|
+
],
|
2115
|
+
tags: {},
|
2116
|
+
chunk_size: 1500,
|
2117
|
+
chunk_overlap: 20,
|
2118
|
+
skip_embedding_generation: false,
|
2119
|
+
embedding_model: "OPENAI",
|
2120
|
+
generate_sparse_vectors: false,
|
2121
|
+
prepend_filename_to_chunks: false,
|
2122
|
+
max_items_per_chunk: 1,
|
2123
|
+
set_page_as_boundary: false,
|
2124
|
+
data_source_id: 1,
|
2125
|
+
request_id: "string_example",
|
2126
|
+
use_ocr: false,
|
2127
|
+
parse_pdf_tables_with_ocr: false,
|
2128
|
+
file_sync_config: {
|
2129
|
+
"auto_synced_source_types" => ["ARTICLE"],
|
2130
|
+
"sync_attachments" => false,
|
2131
|
+
"detect_audio_language" => false,
|
2132
|
+
"transcription_service" => "assemblyai",
|
2133
|
+
"include_speaker_labels" => false,
|
2134
|
+
"split_rows" => false,
|
2135
|
+
"generate_chunks_only" => false,
|
2136
|
+
"skip_file_processing" => false,
|
2137
|
+
},
|
2138
|
+
)
|
2139
|
+
p result
|
2140
|
+
```
|
2141
|
+
|
2142
|
+
#### ⚙️ Parameters<a id="⚙️-parameters"></a>
|
2143
|
+
|
2144
|
+
##### ids: Array<[`AzureBlobGetFileInput`](./lib/carbon_ruby_sdk/models/azure_blob_get_file_input.rb)><a id="ids-array"></a>
|
2145
|
+
##### tags: `Object`<a id="tags-object"></a>
|
2146
|
+
##### chunk_size: `Integer`<a id="chunk_size-integer"></a>
|
2147
|
+
##### chunk_overlap: `Integer`<a id="chunk_overlap-integer"></a>
|
2148
|
+
##### skip_embedding_generation: `Boolean`<a id="skip_embedding_generation-boolean"></a>
|
2149
|
+
##### embedding_model: [`EmbeddingGenerators`](./lib/carbon_ruby_sdk/models/embedding_generators.rb)<a id="embedding_model-embeddinggeneratorslibcarbon_ruby_sdkmodelsembedding_generatorsrb"></a>
|
2150
|
+
##### generate_sparse_vectors: `Boolean`<a id="generate_sparse_vectors-boolean"></a>
|
2151
|
+
##### prepend_filename_to_chunks: `Boolean`<a id="prepend_filename_to_chunks-boolean"></a>
|
2152
|
+
##### max_items_per_chunk: `Integer`<a id="max_items_per_chunk-integer"></a>
|
2153
|
+
Number of objects per chunk. For csv, tsv, xlsx, and json files only.
|
2154
|
+
|
2155
|
+
##### set_page_as_boundary: `Boolean`<a id="set_page_as_boundary-boolean"></a>
|
2156
|
+
##### data_source_id: `Integer`<a id="data_source_id-integer"></a>
|
2157
|
+
##### request_id: `String`<a id="request_id-string"></a>
|
2158
|
+
##### use_ocr: `Boolean`<a id="use_ocr-boolean"></a>
|
2159
|
+
##### parse_pdf_tables_with_ocr: `Boolean`<a id="parse_pdf_tables_with_ocr-boolean"></a>
|
2160
|
+
##### file_sync_config: [`FileSyncConfigNullable`](./lib/carbon_ruby_sdk/models/file_sync_config_nullable.rb)<a id="file_sync_config-filesyncconfignullablelibcarbon_ruby_sdkmodelsfile_sync_config_nullablerb"></a>
|
2161
|
+
#### 🔄 Return<a id="🔄-return"></a>
|
2162
|
+
|
2163
|
+
[GenericSuccessResponse](./lib/carbon_ruby_sdk/models/generic_success_response.rb)
|
2164
|
+
|
2165
|
+
#### 🌐 Endpoint<a id="🌐-endpoint"></a>
|
2166
|
+
|
2167
|
+
`/integrations/azure_blob_storage/files` `POST`
|
2168
|
+
|
2169
|
+
[🔙 **Back to Table of Contents**](#table-of-contents)
|
2170
|
+
|
2171
|
+
---
|
2172
|
+
|
2173
|
+
|
2174
|
+
### `carbon.integrations.sync_azure_blob_storage`<a id="carbonintegrationssync_azure_blob_storage"></a>
|
2175
|
+
|
2176
|
+
This endpoint can be used to connect Azure Blob Storage.
|
2177
|
+
|
2178
|
+
For Azure Blob Storage, follow these steps:
|
2179
|
+
<ol>
|
2180
|
+
<li>Create a new Azure Storage account and grant the following permissions:
|
2181
|
+
<ul>
|
2182
|
+
<li>List containers.</li>
|
2183
|
+
<li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li>
|
2184
|
+
</ul>
|
2185
|
+
</li>
|
2186
|
+
<li>Generate a shared access signature (SAS) token or an access key for the storage account.</li>
|
2187
|
+
</ol>
|
2188
|
+
|
2189
|
+
Once created, provide us with the following details to generate the connection URL:
|
2190
|
+
<ol>
|
2191
|
+
<li>Storage Account KeyName.</li>
|
2192
|
+
<li>Storage Account Name.</li>
|
2193
|
+
</ol>
|
2194
|
+
|
2195
|
+
#### 🛠️ Usage<a id="🛠️-usage"></a>
|
2196
|
+
|
2197
|
+
```ruby
|
2198
|
+
result = carbon.integrations.sync_azure_blob_storage(
|
2199
|
+
account_name: "string_example",
|
2200
|
+
account_key: "string_example",
|
2201
|
+
sync_source_items: true,
|
2202
|
+
)
|
2203
|
+
p result
|
2204
|
+
```
|
2205
|
+
|
2206
|
+
#### ⚙️ Parameters<a id="⚙️-parameters"></a>
|
2207
|
+
|
2208
|
+
##### account_name: `String`<a id="account_name-string"></a>
|
2209
|
+
##### account_key: `String`<a id="account_key-string"></a>
|
2210
|
+
##### sync_source_items: `Boolean`<a id="sync_source_items-boolean"></a>
|
2211
|
+
#### 🔄 Return<a id="🔄-return"></a>
|
2212
|
+
|
2213
|
+
[OrganizationUserDataSourceAPI](./lib/carbon_ruby_sdk/models/organization_user_data_source_api.rb)
|
2214
|
+
|
2215
|
+
#### 🌐 Endpoint<a id="🌐-endpoint"></a>
|
2216
|
+
|
2217
|
+
`/integrations/azure_blob_storage` `POST`
|
2218
|
+
|
2219
|
+
[🔙 **Back to Table of Contents**](#table-of-contents)
|
2220
|
+
|
2221
|
+
---
|
2222
|
+
|
2223
|
+
|
2099
2224
|
### `carbon.integrations.sync_confluence`<a id="carbonintegrationssync_confluence"></a>
|
2100
2225
|
![Deprecated](https://img.shields.io/badge/deprecated-yellow)
|
2101
2226
|
|
@@ -1793,6 +1793,304 @@ module Carbon
|
|
1793
1793
|
end
|
1794
1794
|
|
1795
1795
|
|
1796
|
+
# Azure Blob Files
|
1797
|
+
#
|
1798
|
+
# After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name
|
1799
|
+
# and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate
|
1800
|
+
# data with the selected items or modify the sync behavior
|
1801
|
+
#
|
1802
|
+
# @param ids [Array<AzureBlobGetFileInput>]
|
1803
|
+
# @param tags [Object]
|
1804
|
+
# @param chunk_size [Integer]
|
1805
|
+
# @param chunk_overlap [Integer]
|
1806
|
+
# @param skip_embedding_generation [Boolean]
|
1807
|
+
# @param embedding_model [EmbeddingGenerators]
|
1808
|
+
# @param generate_sparse_vectors [Boolean]
|
1809
|
+
# @param prepend_filename_to_chunks [Boolean]
|
1810
|
+
# @param max_items_per_chunk [Integer] Number of objects per chunk. For csv, tsv, xlsx, and json files only.
|
1811
|
+
# @param set_page_as_boundary [Boolean]
|
1812
|
+
# @param data_source_id [Integer]
|
1813
|
+
# @param request_id [String]
|
1814
|
+
# @param use_ocr [Boolean]
|
1815
|
+
# @param parse_pdf_tables_with_ocr [Boolean]
|
1816
|
+
# @param file_sync_config [FileSyncConfigNullable]
|
1817
|
+
# @param body [AzureBlobFileSyncInput]
|
1818
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
1819
|
+
def sync_azure_blob_files(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {})
|
1820
|
+
_body = {}
|
1821
|
+
_body[:tags] = tags if tags != SENTINEL
|
1822
|
+
_body[:ids] = ids if ids != SENTINEL
|
1823
|
+
_body[:chunk_size] = chunk_size if chunk_size != SENTINEL
|
1824
|
+
_body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
|
1825
|
+
_body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
|
1826
|
+
_body[:embedding_model] = embedding_model if embedding_model != SENTINEL
|
1827
|
+
_body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
|
1828
|
+
_body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
|
1829
|
+
_body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
|
1830
|
+
_body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
|
1831
|
+
_body[:data_source_id] = data_source_id if data_source_id != SENTINEL
|
1832
|
+
_body[:request_id] = request_id if request_id != SENTINEL
|
1833
|
+
_body[:use_ocr] = use_ocr if use_ocr != SENTINEL
|
1834
|
+
_body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
|
1835
|
+
_body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
|
1836
|
+
azure_blob_file_sync_input = _body
|
1837
|
+
api_response = sync_azure_blob_files_with_http_info_impl(azure_blob_file_sync_input, extra)
|
1838
|
+
api_response.data
|
1839
|
+
end
|
1840
|
+
|
1841
|
+
# Azure Blob Files
|
1842
|
+
#
|
1843
|
+
# After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name
|
1844
|
+
# and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate
|
1845
|
+
# data with the selected items or modify the sync behavior
|
1846
|
+
#
|
1847
|
+
# @param ids [Array<AzureBlobGetFileInput>]
|
1848
|
+
# @param tags [Object]
|
1849
|
+
# @param chunk_size [Integer]
|
1850
|
+
# @param chunk_overlap [Integer]
|
1851
|
+
# @param skip_embedding_generation [Boolean]
|
1852
|
+
# @param embedding_model [EmbeddingGenerators]
|
1853
|
+
# @param generate_sparse_vectors [Boolean]
|
1854
|
+
# @param prepend_filename_to_chunks [Boolean]
|
1855
|
+
# @param max_items_per_chunk [Integer] Number of objects per chunk. For csv, tsv, xlsx, and json files only.
|
1856
|
+
# @param set_page_as_boundary [Boolean]
|
1857
|
+
# @param data_source_id [Integer]
|
1858
|
+
# @param request_id [String]
|
1859
|
+
# @param use_ocr [Boolean]
|
1860
|
+
# @param parse_pdf_tables_with_ocr [Boolean]
|
1861
|
+
# @param file_sync_config [FileSyncConfigNullable]
|
1862
|
+
# @param body [AzureBlobFileSyncInput]
|
1863
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
1864
|
+
def sync_azure_blob_files_with_http_info(ids:, tags: SENTINEL, chunk_size: 1500, chunk_overlap: 20, skip_embedding_generation: false, embedding_model: 'OPENAI', generate_sparse_vectors: false, prepend_filename_to_chunks: false, max_items_per_chunk: SENTINEL, set_page_as_boundary: false, data_source_id: SENTINEL, request_id: SENTINEL, use_ocr: false, parse_pdf_tables_with_ocr: false, file_sync_config: SENTINEL, extra: {})
|
1865
|
+
_body = {}
|
1866
|
+
_body[:tags] = tags if tags != SENTINEL
|
1867
|
+
_body[:ids] = ids if ids != SENTINEL
|
1868
|
+
_body[:chunk_size] = chunk_size if chunk_size != SENTINEL
|
1869
|
+
_body[:chunk_overlap] = chunk_overlap if chunk_overlap != SENTINEL
|
1870
|
+
_body[:skip_embedding_generation] = skip_embedding_generation if skip_embedding_generation != SENTINEL
|
1871
|
+
_body[:embedding_model] = embedding_model if embedding_model != SENTINEL
|
1872
|
+
_body[:generate_sparse_vectors] = generate_sparse_vectors if generate_sparse_vectors != SENTINEL
|
1873
|
+
_body[:prepend_filename_to_chunks] = prepend_filename_to_chunks if prepend_filename_to_chunks != SENTINEL
|
1874
|
+
_body[:max_items_per_chunk] = max_items_per_chunk if max_items_per_chunk != SENTINEL
|
1875
|
+
_body[:set_page_as_boundary] = set_page_as_boundary if set_page_as_boundary != SENTINEL
|
1876
|
+
_body[:data_source_id] = data_source_id if data_source_id != SENTINEL
|
1877
|
+
_body[:request_id] = request_id if request_id != SENTINEL
|
1878
|
+
_body[:use_ocr] = use_ocr if use_ocr != SENTINEL
|
1879
|
+
_body[:parse_pdf_tables_with_ocr] = parse_pdf_tables_with_ocr if parse_pdf_tables_with_ocr != SENTINEL
|
1880
|
+
_body[:file_sync_config] = file_sync_config if file_sync_config != SENTINEL
|
1881
|
+
azure_blob_file_sync_input = _body
|
1882
|
+
sync_azure_blob_files_with_http_info_impl(azure_blob_file_sync_input, extra)
|
1883
|
+
end
|
1884
|
+
|
1885
|
+
# Azure Blob Files
|
1886
|
+
# After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate data with the selected items or modify the sync behavior
|
1887
|
+
# @param azure_blob_file_sync_input [AzureBlobFileSyncInput]
|
1888
|
+
# @param [Hash] opts the optional parameters
|
1889
|
+
# @return [GenericSuccessResponse]
|
1890
|
+
private def sync_azure_blob_files_impl(azure_blob_file_sync_input, opts = {})
|
1891
|
+
data, _status_code, _headers = sync_azure_blob_files_with_http_info(azure_blob_file_sync_input, opts)
|
1892
|
+
data
|
1893
|
+
end
|
1894
|
+
|
1895
|
+
# Azure Blob Files
|
1896
|
+
# After optionally loading the items via /integrations/items/sync and integrations/items/list, use the container name and file name as the ID in this endpoint to sync them into Carbon. Additional parameters below can associate data with the selected items or modify the sync behavior
|
1897
|
+
# @param azure_blob_file_sync_input [AzureBlobFileSyncInput]
|
1898
|
+
# @param [Hash] opts the optional parameters
|
1899
|
+
# @return [APIResponse] data is GenericSuccessResponse, status code, headers and response
|
1900
|
+
private def sync_azure_blob_files_with_http_info_impl(azure_blob_file_sync_input, opts = {})
|
1901
|
+
if @api_client.config.debugging
|
1902
|
+
@api_client.config.logger.debug 'Calling API: IntegrationsApi.sync_azure_blob_files ...'
|
1903
|
+
end
|
1904
|
+
# verify the required parameter 'azure_blob_file_sync_input' is set
|
1905
|
+
if @api_client.config.client_side_validation && azure_blob_file_sync_input.nil?
|
1906
|
+
fail ArgumentError, "Missing the required parameter 'azure_blob_file_sync_input' when calling IntegrationsApi.sync_azure_blob_files"
|
1907
|
+
end
|
1908
|
+
# resource path
|
1909
|
+
local_var_path = '/integrations/azure_blob_storage/files'
|
1910
|
+
|
1911
|
+
# query parameters
|
1912
|
+
query_params = opts[:query_params] || {}
|
1913
|
+
|
1914
|
+
# header parameters
|
1915
|
+
header_params = opts[:header_params] || {}
|
1916
|
+
# HTTP header 'Accept' (if needed)
|
1917
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
1918
|
+
# HTTP header 'Content-Type'
|
1919
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
1920
|
+
if !content_type.nil?
|
1921
|
+
header_params['Content-Type'] = content_type
|
1922
|
+
end
|
1923
|
+
|
1924
|
+
# form parameters
|
1925
|
+
form_params = opts[:form_params] || {}
|
1926
|
+
|
1927
|
+
# http body (model)
|
1928
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(azure_blob_file_sync_input)
|
1929
|
+
|
1930
|
+
# return_type
|
1931
|
+
return_type = opts[:debug_return_type] || 'GenericSuccessResponse'
|
1932
|
+
|
1933
|
+
# auth_names
|
1934
|
+
auth_names = opts[:debug_auth_names] || ['accessToken', 'apiKey', 'customerId']
|
1935
|
+
|
1936
|
+
new_options = opts.merge(
|
1937
|
+
:operation => :"IntegrationsApi.sync_azure_blob_files",
|
1938
|
+
:header_params => header_params,
|
1939
|
+
:query_params => query_params,
|
1940
|
+
:form_params => form_params,
|
1941
|
+
:body => post_body,
|
1942
|
+
:auth_names => auth_names,
|
1943
|
+
:return_type => return_type
|
1944
|
+
)
|
1945
|
+
|
1946
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
1947
|
+
if @api_client.config.debugging
|
1948
|
+
@api_client.config.logger.debug "API called: IntegrationsApi#sync_azure_blob_files\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
1949
|
+
end
|
1950
|
+
APIResponse::new(data, status_code, headers, response)
|
1951
|
+
end
|
1952
|
+
|
1953
|
+
|
1954
|
+
# Azure Blob Storage Auth
|
1955
|
+
#
|
1956
|
+
# This endpoint can be used to connect Azure Blob Storage.
|
1957
|
+
#
|
1958
|
+
# For Azure Blob Storage, follow these steps:
|
1959
|
+
# <ol>
|
1960
|
+
# <li>Create a new Azure Storage account and grant the following permissions:
|
1961
|
+
# <ul>
|
1962
|
+
# <li>List containers.</li>
|
1963
|
+
# <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li>
|
1964
|
+
# </ul>
|
1965
|
+
# </li>
|
1966
|
+
# <li>Generate a shared access signature (SAS) token or an access key for the storage account.</li>
|
1967
|
+
# </ol>
|
1968
|
+
#
|
1969
|
+
# Once created, provide us with the following details to generate the connection URL:
|
1970
|
+
# <ol>
|
1971
|
+
# <li>Storage Account KeyName.</li>
|
1972
|
+
# <li>Storage Account Name.</li>
|
1973
|
+
# </ol>
|
1974
|
+
#
|
1975
|
+
# @param account_name [String]
|
1976
|
+
# @param account_key [String]
|
1977
|
+
# @param sync_source_items [Boolean]
|
1978
|
+
# @param body [AzureBlobAuthRequest]
|
1979
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
1980
|
+
def sync_azure_blob_storage(account_name:, account_key:, sync_source_items: true, extra: {})
|
1981
|
+
_body = {}
|
1982
|
+
_body[:account_name] = account_name if account_name != SENTINEL
|
1983
|
+
_body[:account_key] = account_key if account_key != SENTINEL
|
1984
|
+
_body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
|
1985
|
+
azure_blob_auth_request = _body
|
1986
|
+
api_response = sync_azure_blob_storage_with_http_info_impl(azure_blob_auth_request, extra)
|
1987
|
+
api_response.data
|
1988
|
+
end
|
1989
|
+
|
1990
|
+
# Azure Blob Storage Auth
|
1991
|
+
#
|
1992
|
+
# This endpoint can be used to connect Azure Blob Storage.
|
1993
|
+
#
|
1994
|
+
# For Azure Blob Storage, follow these steps:
|
1995
|
+
# <ol>
|
1996
|
+
# <li>Create a new Azure Storage account and grant the following permissions:
|
1997
|
+
# <ul>
|
1998
|
+
# <li>List containers.</li>
|
1999
|
+
# <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li>
|
2000
|
+
# </ul>
|
2001
|
+
# </li>
|
2002
|
+
# <li>Generate a shared access signature (SAS) token or an access key for the storage account.</li>
|
2003
|
+
# </ol>
|
2004
|
+
#
|
2005
|
+
# Once created, provide us with the following details to generate the connection URL:
|
2006
|
+
# <ol>
|
2007
|
+
# <li>Storage Account KeyName.</li>
|
2008
|
+
# <li>Storage Account Name.</li>
|
2009
|
+
# </ol>
|
2010
|
+
#
|
2011
|
+
# @param account_name [String]
|
2012
|
+
# @param account_key [String]
|
2013
|
+
# @param sync_source_items [Boolean]
|
2014
|
+
# @param body [AzureBlobAuthRequest]
|
2015
|
+
# @param [Hash] extra additional parameters to pass along through :header_params, :query_params, or parameter name
|
2016
|
+
def sync_azure_blob_storage_with_http_info(account_name:, account_key:, sync_source_items: true, extra: {})
|
2017
|
+
_body = {}
|
2018
|
+
_body[:account_name] = account_name if account_name != SENTINEL
|
2019
|
+
_body[:account_key] = account_key if account_key != SENTINEL
|
2020
|
+
_body[:sync_source_items] = sync_source_items if sync_source_items != SENTINEL
|
2021
|
+
azure_blob_auth_request = _body
|
2022
|
+
sync_azure_blob_storage_with_http_info_impl(azure_blob_auth_request, extra)
|
2023
|
+
end
|
2024
|
+
|
2025
|
+
# Azure Blob Storage Auth
|
2026
|
+
# This endpoint can be used to connect Azure Blob Storage. For Azure Blob Storage, follow these steps: <ol> <li>Create a new Azure Storage account and grant the following permissions: <ul> <li>List containers.</li> <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li> </ul> </li> <li>Generate a shared access signature (SAS) token or an access key for the storage account.</li> </ol> Once created, provide us with the following details to generate the connection URL: <ol> <li>Storage Account KeyName.</li> <li>Storage Account Name.</li> </ol>
|
2027
|
+
# @param azure_blob_auth_request [AzureBlobAuthRequest]
|
2028
|
+
# @param [Hash] opts the optional parameters
|
2029
|
+
# @return [OrganizationUserDataSourceAPI]
|
2030
|
+
private def sync_azure_blob_storage_impl(azure_blob_auth_request, opts = {})
|
2031
|
+
data, _status_code, _headers = sync_azure_blob_storage_with_http_info(azure_blob_auth_request, opts)
|
2032
|
+
data
|
2033
|
+
end
|
2034
|
+
|
2035
|
+
# Azure Blob Storage Auth
|
2036
|
+
# This endpoint can be used to connect Azure Blob Storage. For Azure Blob Storage, follow these steps: <ol> <li>Create a new Azure Storage account and grant the following permissions: <ul> <li>List containers.</li> <li>Read from specific containers and blobs to sync with Carbon. Ensure any future containers or blobs carry the same permissions.</li> </ul> </li> <li>Generate a shared access signature (SAS) token or an access key for the storage account.</li> </ol> Once created, provide us with the following details to generate the connection URL: <ol> <li>Storage Account KeyName.</li> <li>Storage Account Name.</li> </ol>
|
2037
|
+
# @param azure_blob_auth_request [AzureBlobAuthRequest]
|
2038
|
+
# @param [Hash] opts the optional parameters
|
2039
|
+
# @return [APIResponse] data is OrganizationUserDataSourceAPI, status code, headers and response
|
2040
|
+
private def sync_azure_blob_storage_with_http_info_impl(azure_blob_auth_request, opts = {})
|
2041
|
+
if @api_client.config.debugging
|
2042
|
+
@api_client.config.logger.debug 'Calling API: IntegrationsApi.sync_azure_blob_storage ...'
|
2043
|
+
end
|
2044
|
+
# verify the required parameter 'azure_blob_auth_request' is set
|
2045
|
+
if @api_client.config.client_side_validation && azure_blob_auth_request.nil?
|
2046
|
+
fail ArgumentError, "Missing the required parameter 'azure_blob_auth_request' when calling IntegrationsApi.sync_azure_blob_storage"
|
2047
|
+
end
|
2048
|
+
# resource path
|
2049
|
+
local_var_path = '/integrations/azure_blob_storage'
|
2050
|
+
|
2051
|
+
# query parameters
|
2052
|
+
query_params = opts[:query_params] || {}
|
2053
|
+
|
2054
|
+
# header parameters
|
2055
|
+
header_params = opts[:header_params] || {}
|
2056
|
+
# HTTP header 'Accept' (if needed)
|
2057
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
2058
|
+
# HTTP header 'Content-Type'
|
2059
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
2060
|
+
if !content_type.nil?
|
2061
|
+
header_params['Content-Type'] = content_type
|
2062
|
+
end
|
2063
|
+
|
2064
|
+
# form parameters
|
2065
|
+
form_params = opts[:form_params] || {}
|
2066
|
+
|
2067
|
+
# http body (model)
|
2068
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(azure_blob_auth_request)
|
2069
|
+
|
2070
|
+
# return_type
|
2071
|
+
return_type = opts[:debug_return_type] || 'OrganizationUserDataSourceAPI'
|
2072
|
+
|
2073
|
+
# auth_names
|
2074
|
+
auth_names = opts[:debug_auth_names] || ['accessToken', 'apiKey', 'customerId']
|
2075
|
+
|
2076
|
+
new_options = opts.merge(
|
2077
|
+
:operation => :"IntegrationsApi.sync_azure_blob_storage",
|
2078
|
+
:header_params => header_params,
|
2079
|
+
:query_params => query_params,
|
2080
|
+
:form_params => form_params,
|
2081
|
+
:body => post_body,
|
2082
|
+
:auth_names => auth_names,
|
2083
|
+
:return_type => return_type
|
2084
|
+
)
|
2085
|
+
|
2086
|
+
data, status_code, headers, response = @api_client.call_api(:POST, local_var_path, new_options)
|
2087
|
+
if @api_client.config.debugging
|
2088
|
+
@api_client.config.logger.debug "API called: IntegrationsApi#sync_azure_blob_storage\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
2089
|
+
end
|
2090
|
+
APIResponse::new(data, status_code, headers, response)
|
2091
|
+
end
|
2092
|
+
|
2093
|
+
|
1796
2094
|
# Confluence Sync
|
1797
2095
|
#
|
1798
2096
|
# This endpoint has been deprecated. Use /integrations/files/sync instead.
|
@@ -44,6 +44,10 @@ module Carbon
|
|
44
44
|
# You can specify a Digital Ocean endpoint URL to connect a Digital Ocean Space through this endpoint. The URL should be of format <region>.digitaloceanspaces.com. It's not required for S3 buckets.
|
45
45
|
attr_accessor :endpoint_url
|
46
46
|
|
47
|
+
attr_accessor :account_name
|
48
|
+
|
49
|
+
attr_accessor :account_key
|
50
|
+
|
47
51
|
attr_accessor :instance_subdomain
|
48
52
|
|
49
53
|
attr_accessor :client_id
|
@@ -73,6 +77,8 @@ module Carbon
|
|
73
77
|
:'access_key' => :'access_key',
|
74
78
|
:'access_key_secret' => :'access_key_secret',
|
75
79
|
:'endpoint_url' => :'endpoint_url',
|
80
|
+
:'account_name' => :'account_name',
|
81
|
+
:'account_key' => :'account_key',
|
76
82
|
:'instance_subdomain' => :'instance_subdomain',
|
77
83
|
:'client_id' => :'client_id',
|
78
84
|
:'client_secret' => :'client_secret',
|
@@ -105,6 +111,8 @@ module Carbon
|
|
105
111
|
:'access_key' => :'String',
|
106
112
|
:'access_key_secret' => :'String',
|
107
113
|
:'endpoint_url' => :'String',
|
114
|
+
:'account_name' => :'String',
|
115
|
+
:'account_key' => :'String',
|
108
116
|
:'instance_subdomain' => :'String',
|
109
117
|
:'client_id' => :'String',
|
110
118
|
:'client_secret' => :'String',
|
@@ -118,6 +126,7 @@ module Carbon
|
|
118
126
|
Set.new([
|
119
127
|
:'source',
|
120
128
|
:'refresh_token',
|
129
|
+
:'tenant_name',
|
121
130
|
:'endpoint_url',
|
122
131
|
])
|
123
132
|
end
|
@@ -125,6 +134,7 @@ module Carbon
|
|
125
134
|
# List of class defined in anyOf (OpenAPI v3)
|
126
135
|
def self.openapi_any_of
|
127
136
|
[
|
137
|
+
:'AzureBlobStorageAuthentication',
|
128
138
|
:'ConfluenceAuthentication',
|
129
139
|
:'FreskdeskAuthentication',
|
130
140
|
:'GitbookAuthetication',
|
@@ -133,6 +143,7 @@ module Carbon
|
|
133
143
|
:'GuruAuthentication',
|
134
144
|
:'NotionAuthentication',
|
135
145
|
:'OAuthAuthentication',
|
146
|
+
:'OneDriveAuthentication',
|
136
147
|
:'S3Authentication',
|
137
148
|
:'SalesforceAuthentication',
|
138
149
|
:'ServiceNowAuthentication',
|
@@ -221,6 +232,14 @@ module Carbon
|
|
221
232
|
self.endpoint_url = attributes[:'endpoint_url']
|
222
233
|
end
|
223
234
|
|
235
|
+
if attributes.key?(:'account_name')
|
236
|
+
self.account_name = attributes[:'account_name']
|
237
|
+
end
|
238
|
+
|
239
|
+
if attributes.key?(:'account_key')
|
240
|
+
self.account_key = attributes[:'account_key']
|
241
|
+
end
|
242
|
+
|
224
243
|
if attributes.key?(:'instance_subdomain')
|
225
244
|
self.instance_subdomain = attributes[:'instance_subdomain']
|
226
245
|
end
|
@@ -254,10 +273,6 @@ module Carbon
|
|
254
273
|
invalid_properties.push('invalid value for "workspace_id", workspace_id cannot be nil.')
|
255
274
|
end
|
256
275
|
|
257
|
-
if @tenant_name.nil?
|
258
|
-
invalid_properties.push('invalid value for "tenant_name", tenant_name cannot be nil.')
|
259
|
-
end
|
260
|
-
|
261
276
|
if @site_name.nil?
|
262
277
|
invalid_properties.push('invalid value for "site_name", site_name cannot be nil.')
|
263
278
|
end
|
@@ -298,6 +313,14 @@ module Carbon
|
|
298
313
|
invalid_properties.push('invalid value for "access_key_secret", access_key_secret cannot be nil.')
|
299
314
|
end
|
300
315
|
|
316
|
+
if @account_name.nil?
|
317
|
+
invalid_properties.push('invalid value for "account_name", account_name cannot be nil.')
|
318
|
+
end
|
319
|
+
|
320
|
+
if @account_key.nil?
|
321
|
+
invalid_properties.push('invalid value for "account_key", account_key cannot be nil.')
|
322
|
+
end
|
323
|
+
|
301
324
|
if @instance_subdomain.nil?
|
302
325
|
invalid_properties.push('invalid value for "instance_subdomain", instance_subdomain cannot be nil.')
|
303
326
|
end
|
@@ -326,7 +349,6 @@ module Carbon
|
|
326
349
|
def valid?
|
327
350
|
return false if @access_token.nil?
|
328
351
|
return false if @workspace_id.nil?
|
329
|
-
return false if @tenant_name.nil?
|
330
352
|
return false if @site_name.nil?
|
331
353
|
return false if @subdomain.nil?
|
332
354
|
return false if @access_token_secret.nil?
|
@@ -337,6 +359,8 @@ module Carbon
|
|
337
359
|
return false if @api_key.nil?
|
338
360
|
return false if @access_key.nil?
|
339
361
|
return false if @access_key_secret.nil?
|
362
|
+
return false if @account_name.nil?
|
363
|
+
return false if @account_key.nil?
|
340
364
|
return false if @instance_subdomain.nil?
|
341
365
|
return false if @client_id.nil?
|
342
366
|
return false if @client_secret.nil?
|
@@ -378,6 +402,8 @@ module Carbon
|
|
378
402
|
access_key == o.access_key &&
|
379
403
|
access_key_secret == o.access_key_secret &&
|
380
404
|
endpoint_url == o.endpoint_url &&
|
405
|
+
account_name == o.account_name &&
|
406
|
+
account_key == o.account_key &&
|
381
407
|
instance_subdomain == o.instance_subdomain &&
|
382
408
|
client_id == o.client_id &&
|
383
409
|
client_secret == o.client_secret &&
|
@@ -394,7 +420,7 @@ module Carbon
|
|
394
420
|
# Calculates hash code according to all attributes.
|
395
421
|
# @return [Integer] Hash code
|
396
422
|
def hash
|
397
|
-
[source, access_token, refresh_token, workspace_id, tenant_name, site_name, subdomain, access_token_secret, username, zotero_id, organization_name, domain, api_key, access_key, access_key_secret, endpoint_url, instance_subdomain, client_id, client_secret, redirect_uri, gong_account_email].hash
|
423
|
+
[source, access_token, refresh_token, workspace_id, tenant_name, site_name, subdomain, access_token_secret, username, zotero_id, organization_name, domain, api_key, access_key, access_key_secret, endpoint_url, account_name, account_key, instance_subdomain, client_id, client_secret, redirect_uri, gong_account_email].hash
|
398
424
|
end
|
399
425
|
|
400
426
|
# Builds the object from hash
|