Commit Graph

106 Commits (9a666fac00293aef45cd084db9444d09b7e5f86c)

Author SHA1 Message Date
Aakash Hemadri 82cabae571
fix: Remove unnecessary unwrap
Replace Option<bool> with bool

Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-26 09:41:17 +05:30
Aakash Hemadri be6e72bad3
fix: Replace Option<Vec<T>> with Vec<T>
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-25 12:29:39 +05:30
Aakash Hemadri f80a3ee0a6
fix: Derive default for resource, bucket and retention_rules
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-25 12:19:11 +05:30
Aakash Hemadri a9fca31498
fix: Make Default impl concise
Return Self::default() where applicable for Self::new()

Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-25 12:03:38 +05:30
Aakash Hemadri 7d4e51df2b
fix: Make serde renames concise
Replace serde(rename = "") with serde(rename_all = "camelCase") where
applicable

Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-25 12:01:56 +05:30
Aakash Hemadri 861560a9f8
docs: Add missing docs for models/* api/*
fix: cargo fmt
fix: serde renames
fix: dervive Default where possible

Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-23 23:05:21 +05:30
Aakash Hemadri f3ce84d67c
fix: setup.rs example
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-23 23:02:53 +05:30
Aakash Hemadri 45b387f2a2
fix: Return bool as Result for is_onboarding_allowed
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-23 19:31:34 +05:30
Aakash Hemadri 5ecb824fcd
fix: Add tests accommodating no optional arguments
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-23 17:48:22 +05:30
Aakash Hemadri e01b0a6a13
refactor: Rename setup api to be semantic
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-23 17:41:05 +05:30
Aakash Hemadri 02f10138c9
refactor: Make match response.status() concise
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-23 17:24:43 +05:30
Aakash Hemadri 768c2d6eb7
refactor: influxdb2_client/src/api/setup.rs
Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2021-03-23 09:33:23 +05:30
Carol (Nichols || Goulding) 2738c6a35f fix: cargo fmt 2021-03-22 10:38:38 -04:00
Aakash Hemadri 0a5257deea
refactor: Fix `setup` model and `setup` test
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-17 10:12:16 +05:30
Aakash Hemadri 6134915f27
refactor: Fix `setup` tests for influxdb_client
Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-17 10:12:16 +05:30
Aakash Hemadri c876c18961
feat: Add support for setup API to influxdb_client
- Check if database has default user, org, bucket
- Set up initial user, org and bucket
- Set up a new user, org and bucket

- Add examples and test
- Add necessary models

Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>
2021-03-17 10:12:09 +05:30
Aakash Hemadri 9c112b9872
feat: Add support for ready API to influxdb_client (#999)
Get the readiness of an instance at startup

Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com>

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-03-16 13:06:20 +00:00
Andrew Lamb 51304fd138
docs: Add README for influxdb_client (#996)
* docs: Add README for influxdb_client

* docs: Update influxdb2_client/README.md

Co-authored-by: Paul Dix <paul@influxdata.com>

* docs: Apply suggestions from code review

Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>

Co-authored-by: Paul Dix <paul@influxdata.com>
Co-authored-by: Raphael Taylor-Davies <1781103+tustvold@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-03-16 12:53:01 +00:00
Edd Robinson dfe6e50e26 refactor: add arc clone lint 2021-02-15 12:52:12 +00:00
Jake Swensen cd8602086f
fix: influxdb2_client example project (#770)
* fix: influxdb2_client: enable rt-multi-thread

* fix: influxdb2_client: enable reqwest tls

Remove `default-features = false`. The default features of reqwest
enable "default-tls" which is required for support of https transport.
2021-02-08 16:43:27 -05:00
Carol (Nichols || Goulding) fbf776c6b3
chore: Clean up Cargo.tomls (#754)
* fix: test_helpers crate should only be a dev-dep

* fix: object_store no longer has a build script, so no longer needs a build dep

* chore: Alphabetize all Cargo.tomls
2021-02-04 18:56:02 -05:00
Andrew Lamb f3bd8bd0e3
chore: update deps (tokio 1.0 and ecosystem) (#707)
* chore: Update arrow + tokio deps

* chore: Use bleeding edge azure

* chore: Update aws + other deps

* fix: fmt

* fix: Switch to in-house version of routerify

* fix: Upgrade to hyper 0.14

The hyper::error module is now private; hyper::Error is the public
re-export

* fix: Upgrade cloud storage to get tokio upgrade

* fix: Upgrade open_telemetry

* fix: Do not call `panic::set_hook` during another panic

Doing so leads to a double panic which aborts the process.

* fix: new h2 error who dis

Co-authored-by: Carol (Nichols || Goulding) <carol.nichols@integer32.com>
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2021-01-29 16:11:55 -05:00
Dom 6f473984d0 style: wrap comments
Runs rustfmt with the new config.
2020-12-11 18:22:26 +00:00
Andrew Lamb b745a180a4
refactor: rename delorean --> InfluDB IOx (#417) 2020-11-05 13:51:04 -05:00
Carol (Nichols || Goulding) efaab117de fix: Make influx client's URL public
In the data generator, we're going to have potentially 2 different
clients for the data and for telemetry, and I'd like to be able to log
how they're configured, for example.

I don't see any reason for URL to
be private, because the user of the client passed in the URL and we
haven't changed anything about it.
2020-09-04 17:07:40 -04:00
Carol (Nichols || Goulding) 4ab8597f50 fix: Clarify what takes org/bucket names and what takes IDs
Connects to influxdata/fusion#60

As far as I can tell, `/api/v2/write` uses `org` and `bucket` params
that can take org and bucket names, so just call those `org` and
`bucket` throughout and clarify in examples they can be any string.

However, `/api/v2/buckets` uses only `orgID` that must be the
organization's 16-digit hex ID, so clarify that case.

This means in examples where we create a bucket and push points into it,
we'll need both a hex ID and name for the organization.
2020-09-02 16:32:24 -04:00
Carol (Nichols || Goulding) 6223cbdc99 feat: Add an authorization token to all client requests
Connects to influxdata/fusion#59. Delorean currently ignores this
header.

Also add an example of using this to connect to an InfluxDB 2 instance;
I tested this out with a locally running Influx DB 2 and I was able to
write points!
2020-09-02 10:33:45 -04:00
Carol (Nichols || Goulding) 0f1cd1a77e refactor: Extract a method for building requests to share common code soon 2020-09-02 09:56:36 -04:00
Carol (Nichols || Goulding) 1cb3d025c6
fix: typo
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2020-08-12 13:50:45 -04:00
Carol (Nichols || Goulding) d59702ec79 feat: Make the create bucket HTTP API match the Influx 2.0 API
The `/api/v2/create_bucket` API was delorean-specific for testing
purposes. This change makes it match the [Influx 2.0 API][influx] and
adds a method to the client for creating buckets.

The client will always send an empty array of `retentionRules` because
that is a required parameter for the Influx API. Delorean always ignores
`retentionRules`. The `description` and `rp` parameters are optional and
are never sent.

[influx]: https://v2.docs.influxdata.com/v2.0/api/#operation/PostBuckets

I believe the gRPC create bucket is also delorean-specific and perhaps
not needed, but I'm leaving it in for now with a note.
2020-08-12 10:08:32 -04:00
Carol (Nichols || Goulding) 6136fd35d1 fix: Make the influx client data_point module public
Driven by use in fusion.
2020-08-05 14:57:00 -04:00
Carol (Nichols || Goulding) 76bfae30af refactor: Extract DataPoint to its own module 2020-07-27 14:41:00 -04:00
Carol (Nichols || Goulding) c7e70c0d3d fix: Write a newline after each point 2020-07-27 14:39:21 -04:00
Carol (Nichols || Goulding) 0a210f1cc1 test: Make failures easier to interpret by displaying the string value of the bytes 2020-07-27 14:38:39 -04:00
Carol (Nichols || Goulding) 0709f90040 test: Add a mock server test in the client crate for the newline bug 2020-07-27 14:10:54 -04:00
Carol (Nichols || Goulding) 7d09485cba refactor: Alphabetize dependencies 2020-07-27 14:06:03 -04:00
Carol (Nichols || Goulding) 9de97e60a1 fix: Remove unneeded 'static and into 2020-07-27 13:46:22 -04:00
Carol (Nichols || Goulding) d944cce1f9 feat: Make FieldValues implement PartialEq
To enable assert_eq! for testing
2020-07-27 11:43:21 -04:00
Carol (Nichols || Goulding) 605f982b17 refactor: Switch from LineProtocol to a WriteDataPoint trait 2020-07-27 11:43:13 -04:00
Jake Goulding 3a9693d289 refactor: Switch from Escaped* types to String
And leave a comment explaining how non-UTF-8 data may be implemented in
the future.
2020-07-27 11:39:46 -04:00
Carol (Nichols || Goulding) d7859b9959 docs: Add explanation for why LineProtocol exists and is private
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2020-07-24 09:42:57 -04:00
Carol (Nichols || Goulding) 3243300dec docs: Add a quick start example at the top with all functionality so far 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 7ddd793264 fix: Return an error if attempting to build a DataPoint without any fields 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 8cac2f1ca3 fix: Expose the detailed error types in the public API 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 1867d2a44d fix: Timestamps are signed 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 876796a59d refactor: Remove duplication by having write call write_line_protocol 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 879b981897 refactor: Rename write methods to clarify their uses 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 938e604b08 fix: Use Self in more places as recommended by clippy 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 40f3ca7880 fix: Use a specific version constraint 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) 53ec997d8d docs: Clean up link to API docs 2020-07-22 17:03:29 -04:00
Jake Goulding f8304e6e6b feat: Add a dynamic type to construct data points for ingestion 2020-07-22 17:03:29 -04:00
Carol (Nichols || Goulding) c1091587f0 docs: Add a TODO about reviewing the name 2020-07-20 09:51:08 -04:00
Carol (Nichols || Goulding) d15528c2d7
docs: Add link to API doc specification
Co-authored-by: Andrew Lamb <alamb@influxdata.com>
2020-07-17 17:06:27 -04:00
Carol (Nichols || Goulding) 3684e48bfc
fix: typo
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2020-07-17 16:19:17 -04:00
Carol (Nichols || Goulding) 668aefae9b feat: Implement a rudimentary write API in the influx client 2020-07-17 10:28:19 -04:00
Carol (Nichols || Goulding) 7ed24241b5 feat: Set up an InfluxData 2.0 client crate 2020-07-17 10:27:33 -04:00