influxdb-client 1.12.0.pre.1894 → 1.13.0.pre.2006
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/README.md +118 -1
- data/influxdb-client.gemspec +5 -3
- data/lib/influxdb2/client/models/delete_predicate_request.rb +51 -24
- data/lib/influxdb2/client/models/dialect.rb +61 -34
- data/lib/influxdb2/client/models/health_check.rb +56 -29
- data/lib/influxdb2/client/models/query.rb +55 -28
- data/lib/influxdb2/client/version.rb +1 -1
- metadata +6 -22
- data/.circleci/config.yml +0 -158
- data/.circleci/setup-rubygems.sh +0 -3
- data/.codecov.yml +0 -3
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -34
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -28
- data/.github/PULL_REQUEST_TEMPLATE +0 -16
- data/.github/semantic.yml +0 -3
- data/.gitignore +0 -16
- data/.rubocop.yml +0 -43
- data/Gemfile +0 -24
- data/bin/generate-sources.sh +0 -23
- data/bin/influxdb-onboarding.sh +0 -39
- data/bin/influxdb-restart.sh +0 -61
- data/bin/pom.xml +0 -34
- data/bin/swagger.yml +0 -10057
- data/examples/influxdb_18_example.rb +0 -35
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: dcf610b42cd199ad2ef22be3fde76c8a777ff15ce99f070aa91af075882e33eb
         | 
| 4 | 
            +
              data.tar.gz: b0bc106e65ad1ad7b209dc3a92b2edbff36aa088be9cac8528ae6f69a3144ca7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: '058ffb7fbdf6a97c71a1356532899eddf2ae00ba57a9566b7b6432de334b9abfbab1bac3c4e360cc2f97cf25731cb815ac43025bb54b40ac0ffac2137f2001fb'
         | 
| 7 | 
            +
              data.tar.gz: 81e76a0329dc4029268d6f21b94c6d49f0caf8a9593862119b5ff12da06456816e7f25641f51f79426dd44138e0c9b7e51be79c0641329482677d5506fc94a84
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,8 +1,14 @@ | |
| 1 | 
            -
            ## 1. | 
| 1 | 
            +
            ## 1.13.0 [unreleased]
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            ## 1.12.0 [2021-03-05]
         | 
| 2 4 |  | 
| 3 5 | 
             
            ### Features
         | 
| 6 | 
            +
            1. [#69](https://github.com/influxdata/influxdb-client-ruby/pull/69): Created `influxdb-client-apis` package for Management API
         | 
| 4 7 | 
             
            1. [#71](https://github.com/influxdata/influxdb-client-ruby/pull/71): Added possibility to specify the certification verification behaviour
         | 
| 5 8 |  | 
| 9 | 
            +
            ### CI
         | 
| 10 | 
            +
            1. [#73](https://github.com/influxdata/influxdb-client-ruby/pull/73): Updated stable image to `influxdb:latest` and nightly to `quay.io/influxdb/influxdb:nightly`
         | 
| 11 | 
            +
             | 
| 6 12 | 
             
            ## 1.11.0 [2021-01-29]
         | 
| 7 13 |  | 
| 8 14 | 
             
            ### CI
         | 
    
        data/README.md
    CHANGED
    
    | @@ -12,6 +12,37 @@ This repository contains the reference Ruby client for the InfluxDB 2.0. | |
| 12 12 |  | 
| 13 13 | 
             
            #### Note: Use this client library with InfluxDB 2.x and InfluxDB 1.8+ ([see details](#influxdb-18-api-compatibility)). For connecting to InfluxDB 1.7 or earlier instances, use the [influxdb-ruby](https://github.com/influxdata/influxdb-ruby) client library.
         | 
| 14 14 |  | 
| 15 | 
            +
            - [Features](#features)
         | 
| 16 | 
            +
            - [Installation](#installation)
         | 
| 17 | 
            +
                - [Install the Gem](#install-the-gem)
         | 
| 18 | 
            +
            - [Usage](#usage)
         | 
| 19 | 
            +
                - [Creating a client](#creating-a-client)
         | 
| 20 | 
            +
                - [Writing data](#writing-data)
         | 
| 21 | 
            +
                - [Querying data](#queries)
         | 
| 22 | 
            +
                - [Delete data](#delete-data)
         | 
| 23 | 
            +
                - [Management API](#management-api)
         | 
| 24 | 
            +
            - [Advanced Usage](#advanced-usage)
         | 
| 25 | 
            +
                - [Default Tags](#default-tags)
         | 
| 26 | 
            +
            - [Contributing](#contributing)
         | 
| 27 | 
            +
            - [License](#license)
         | 
| 28 | 
            +
             | 
| 29 | 
            +
            ## Features
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            InfluxDB 2.0 client consists of two packages
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            - `influxdb-client`
         | 
| 34 | 
            +
                - Querying data using the Flux language
         | 
| 35 | 
            +
                - Writing data
         | 
| 36 | 
            +
                    - batched in chunks on background
         | 
| 37 | 
            +
                    - automatic retries on write failures
         | 
| 38 | 
            +
            - `influxdb-client-apis`
         | 
| 39 | 
            +
                - provides all other InfluxDB 2.0 APIs for managing
         | 
| 40 | 
            +
                    - buckets
         | 
| 41 | 
            +
                    - labels
         | 
| 42 | 
            +
                    - authorizations
         | 
| 43 | 
            +
                    - ...
         | 
| 44 | 
            +
                - built on top of `influxdb-client`
         | 
| 45 | 
            +
             | 
| 15 46 | 
             
            ## Installation
         | 
| 16 47 |  | 
| 17 48 | 
             
            The InfluxDB 2 client is bundled as a gem and is hosted on [Rubygems](https://rubygems.org/gems/influxdb-client).
         | 
| @@ -23,7 +54,13 @@ The client can be installed manually or with bundler. | |
| 23 54 | 
             
            To install the client gem manually:
         | 
| 24 55 |  | 
| 25 56 | 
             
            ```
         | 
| 26 | 
            -
            gem install influxdb-client -v 1. | 
| 57 | 
            +
            gem install influxdb-client -v 1.12.0
         | 
| 58 | 
            +
            ```
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            For management API:
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            ```
         | 
| 63 | 
            +
            gem install influxdb-client-apis -v 1.12.0
         | 
| 27 64 | 
             
            ```
         | 
| 28 65 |  | 
| 29 66 | 
             
            ## Usage
         | 
| @@ -267,6 +304,86 @@ The time range could be specified as: | |
| 267 304 | 
             
            1. DateTime - `DateTime.rfc3339('2019-03-03T04:05:06+07:00')`
         | 
| 268 305 | 
             
            1. Time - `Time.utc(2015, 10, 16, 8, 20, 15)`
         | 
| 269 306 |  | 
| 307 | 
            +
            ### Management API
         | 
| 308 | 
            +
             | 
| 309 | 
            +
            The client supports following management API:
         | 
| 310 | 
            +
             | 
| 311 | 
            +
            |  | API docs |
         | 
| 312 | 
            +
            | --- | --- |
         | 
| 313 | 
            +
            | [**AuthorizationsApi**](https://influxdata.github.io/influxdb-client-ruby/InfluxDB2/API/AuthorizationsApi.html) | https://docs.influxdata.com/influxdb/v2.0/api/#tag/Authorizations |
         | 
| 314 | 
            +
            | [**BucketsApi**](https://influxdata.github.io/influxdb-client-ruby/InfluxDB2/API/BucketsApi.html) | https://docs.influxdata.com/influxdb/v2.0/api/#tag/Buckets |
         | 
| 315 | 
            +
            | [**LabelsApi**](https://influxdata.github.io/influxdb-client-ruby/InfluxDB2/API/LabelsApi.html) | https://docs.influxdata.com/influxdb/v2.0/api/#tag/Labels |
         | 
| 316 | 
            +
            | [**OrganizationsApi**](https://influxdata.github.io/influxdb-client-ruby/InfluxDB2/API/OrganizationsApi.html) | https://docs.influxdata.com/influxdb/v2.0/api/#tag/Organizations |
         | 
| 317 | 
            +
            | [**UsersApi**](https://influxdata.github.io/influxdb-client-ruby/InfluxDB2/API/UsersApi.html) | https://docs.influxdata.com/influxdb/v2.0/api/#tag/Users |
         | 
| 318 | 
            +
             | 
| 319 | 
            +
             | 
| 320 | 
            +
            The following example demonstrates how to use a InfluxDB 2.0 Management API to create new bucket. For further information see docs and [examples](/examples).
         | 
| 321 | 
            +
             | 
| 322 | 
            +
            ```ruby
         | 
| 323 | 
            +
            #
         | 
| 324 | 
            +
            # This is an example how to create new bucket with permission to write.
         | 
| 325 | 
            +
            #
         | 
| 326 | 
            +
            # You could run example via: `cd apis && bundle exec ruby ../examples/create_new_bucket.rb`
         | 
| 327 | 
            +
            #
         | 
| 328 | 
            +
            $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
         | 
| 329 | 
            +
            require 'influxdb-client'
         | 
| 330 | 
            +
            $LOAD_PATH.unshift File.expand_path('../apis/lib', __dir__)
         | 
| 331 | 
            +
            require 'influxdb-client-apis'
         | 
| 332 | 
            +
             | 
| 333 | 
            +
            url = 'http://localhost:8086'
         | 
| 334 | 
            +
            bucket = 'my-bucket'
         | 
| 335 | 
            +
            org = 'my-org'
         | 
| 336 | 
            +
            token = 'my-token'
         | 
| 337 | 
            +
             | 
| 338 | 
            +
            client = InfluxDB2::Client.new(url,
         | 
| 339 | 
            +
                                           token,
         | 
| 340 | 
            +
                                           bucket: bucket,
         | 
| 341 | 
            +
                                           org: org,
         | 
| 342 | 
            +
                                           use_ssl: false,
         | 
| 343 | 
            +
                                           precision: InfluxDB2::WritePrecision::NANOSECOND)
         | 
| 344 | 
            +
             | 
| 345 | 
            +
            api = InfluxDB2::API::Client.new(client)
         | 
| 346 | 
            +
             | 
| 347 | 
            +
            # Find my organization
         | 
| 348 | 
            +
            organization = api.create_organizations_api
         | 
| 349 | 
            +
                              .get_orgs
         | 
| 350 | 
            +
                              .orgs
         | 
| 351 | 
            +
                              .select { |it| it.name == 'my-org' }
         | 
| 352 | 
            +
                              .first
         | 
| 353 | 
            +
             | 
| 354 | 
            +
            #
         | 
| 355 | 
            +
            # Create new Bucket
         | 
| 356 | 
            +
            #
         | 
| 357 | 
            +
            retention_rule = InfluxDB2::API::RetentionRule.new(type: 'expire', every_seconds: 3600)
         | 
| 358 | 
            +
            bucket_name = 'new-bucket-name'
         | 
| 359 | 
            +
            request = InfluxDB2::API::PostBucketRequest.new(org_id: organization.id,
         | 
| 360 | 
            +
                                                            name: bucket_name,
         | 
| 361 | 
            +
                                                            retention_rules: [retention_rule])
         | 
| 362 | 
            +
            bucket = api.create_buckets_api
         | 
| 363 | 
            +
                        .post_buckets(request)
         | 
| 364 | 
            +
             | 
| 365 | 
            +
            #
         | 
| 366 | 
            +
            # Create Permission to read/write from Bucket
         | 
| 367 | 
            +
            #
         | 
| 368 | 
            +
            resource = InfluxDB2::API::Resource.new(type: 'buckets',
         | 
| 369 | 
            +
                                                    id: bucket.id,
         | 
| 370 | 
            +
                                                    org_id: organization.id)
         | 
| 371 | 
            +
            authorization = InfluxDB2::API::Authorization.new(description: "Authorization to read/write bucket: #{bucket.name}",
         | 
| 372 | 
            +
                                                              org_id: organization.id,
         | 
| 373 | 
            +
                                                              permissions: [
         | 
| 374 | 
            +
                                                                InfluxDB2::API::Permission.new(action: 'read', resource: resource),
         | 
| 375 | 
            +
                                                                InfluxDB2::API::Permission.new(action: 'write', resource: resource)
         | 
| 376 | 
            +
                                                              ])
         | 
| 377 | 
            +
            result = api.create_authorizations_api
         | 
| 378 | 
            +
                        .post_authorizations(authorization)
         | 
| 379 | 
            +
             | 
| 380 | 
            +
            print("The token: '#{result.token}' is authorized to read/write from/to bucket: '#{bucket.name}'.")
         | 
| 381 | 
            +
             | 
| 382 | 
            +
            client.close!
         | 
| 383 | 
            +
             | 
| 384 | 
            +
            ```
         | 
| 385 | 
            +
            - sources - [create_new_bucket.rb](/examples/create_new_bucket.rb)
         | 
| 386 | 
            +
             | 
| 270 387 | 
             
            ## Advanced Usage
         | 
| 271 388 |  | 
| 272 389 | 
             
            ### Check the server status 
         | 
    
        data/influxdb-client.gemspec
    CHANGED
    
    | @@ -22,6 +22,7 @@ lib = File.expand_path('lib', __dir__) | |
| 22 22 | 
             
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         | 
| 23 23 | 
             
            require 'influxdb2/client/version'
         | 
| 24 24 |  | 
| 25 | 
            +
            # noinspection DuplicatedCode
         | 
| 25 26 | 
             
            Gem::Specification.new do |spec|
         | 
| 26 27 | 
             
              spec.name          = 'influxdb-client'
         | 
| 27 28 | 
             
              spec.version       = ENV['CIRCLE_BUILD_NUM'] ? "#{InfluxDB2::VERSION}-#{ENV['CIRCLE_BUILD_NUM']}" : InfluxDB2::VERSION
         | 
| @@ -37,8 +38,9 @@ Gem::Specification.new do |spec| | |
| 37 38 | 
             
              spec.metadata['source_code_uri'] = 'https://github.com/influxdata/influxdb-client-ruby'
         | 
| 38 39 | 
             
              spec.metadata['changelog_uri'] = 'https://raw.githubusercontent.com/influxdata/influxdb-client-ruby/master/CHANGELOG.md'
         | 
| 39 40 |  | 
| 40 | 
            -
              spec.files | 
| 41 | 
            -
              spec. | 
| 41 | 
            +
              spec.files = Dir.glob('lib/**/*')
         | 
| 42 | 
            +
              spec.files += %w[influxdb-client.gemspec LICENSE README.md CHANGELOG.md Rakefile]
         | 
| 43 | 
            +
              spec.test_files = Dir.glob('test/**/*')
         | 
| 42 44 | 
             
              spec.require_paths = ['lib']
         | 
| 43 45 | 
             
              spec.required_ruby_version = '>= 2.2.0'
         | 
| 44 46 |  | 
| @@ -46,7 +48,7 @@ Gem::Specification.new do |spec| | |
| 46 48 | 
             
              spec.add_development_dependency 'codecov', '~> 0.1.16'
         | 
| 47 49 | 
             
              spec.add_development_dependency 'minitest', '~> 5.0'
         | 
| 48 50 | 
             
              spec.add_development_dependency 'minitest-reporters', '~> 1.4'
         | 
| 49 | 
            -
              spec.add_development_dependency 'rake', ' | 
| 51 | 
            +
              spec.add_development_dependency 'rake', '~> 12.3'
         | 
| 50 52 | 
             
              spec.add_development_dependency 'rubocop', '~> 0.66.0'
         | 
| 51 53 | 
             
              spec.add_development_dependency 'simplecov', '~> 0.17.1'
         | 
| 52 54 | 
             
              spec.add_development_dependency 'webmock', '~> 3.7'
         | 
| @@ -3,14 +3,15 @@ | |
| 3 3 |  | 
| 4 4 | 
             
            #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
         | 
| 5 5 |  | 
| 6 | 
            -
            OpenAPI  | 
| 6 | 
            +
            The version of the OpenAPI document: 0.1.0
         | 
| 7 7 |  | 
| 8 8 | 
             
            Generated by: https://openapi-generator.tech
         | 
| 9 | 
            -
            OpenAPI Generator version:  | 
| 9 | 
            +
            OpenAPI Generator version: 5.0.0-beta3
         | 
| 10 10 |  | 
| 11 11 | 
             
            =end
         | 
| 12 12 |  | 
| 13 13 | 
             
            require 'date'
         | 
| 14 | 
            +
            require 'time'
         | 
| 14 15 |  | 
| 15 16 | 
             
            module InfluxDB2
         | 
| 16 17 | 
             
              # The delete predicate request.
         | 
| @@ -24,41 +25,54 @@ module InfluxDB2 | |
| 24 25 | 
             
                # InfluxQL-like delete statement
         | 
| 25 26 | 
             
                attr_accessor :predicate
         | 
| 26 27 |  | 
| 27 | 
            -
                # Attribute mapping from ruby-style variable name to JSON key | 
| 28 | 
            +
                # Attribute mapping from ruby-style variable name to JSON key
         | 
| 28 29 | 
             
                def self.attribute_map
         | 
| 29 30 | 
             
                  {
         | 
| 30 31 | 
             
                    :'start' => :'start',
         | 
| 31 32 | 
             
                    :'stop' => :'stop',
         | 
| 32 | 
            -
                    :'predicate' => :'predicate'
         | 
| 33 | 
            +
                    :'predicate' => :'predicate',
         | 
| 33 34 | 
             
                  }
         | 
| 34 35 | 
             
                end
         | 
| 35 36 |  | 
| 36 37 | 
             
                # Attribute type mapping.
         | 
| 37 38 | 
             
                def self.openapi_types
         | 
| 38 39 | 
             
                  {
         | 
| 39 | 
            -
                    :'start' => :' | 
| 40 | 
            -
                    :'stop' => :' | 
| 41 | 
            -
                    :'predicate' => :'String'
         | 
| 40 | 
            +
                    :'start' => :'Time',
         | 
| 41 | 
            +
                    :'stop' => :'Time',
         | 
| 42 | 
            +
                    :'predicate' => :'String',
         | 
| 42 43 | 
             
                  }
         | 
| 43 44 | 
             
                end
         | 
| 44 45 |  | 
| 46 | 
            +
                # List of attributes with nullable: true
         | 
| 47 | 
            +
                def self.openapi_nullable
         | 
| 48 | 
            +
                  Set.new([
         | 
| 49 | 
            +
                  ])
         | 
| 50 | 
            +
                end
         | 
| 51 | 
            +
             | 
| 45 52 | 
             
                # Initializes the object
         | 
| 46 53 | 
             
                # @param [Hash] attributes Model attributes in the form of hash
         | 
| 47 54 | 
             
                def initialize(attributes = {})
         | 
| 48 | 
            -
                   | 
| 55 | 
            +
                  if (!attributes.is_a?(Hash))
         | 
| 56 | 
            +
                    fail ArgumentError, "The input argument (attributes) must be a hash in `InfluxDB2::DeletePredicateRequest` initialize method"
         | 
| 57 | 
            +
                  end
         | 
| 49 58 |  | 
| 50 | 
            -
                  # convert string to symbol for hash key
         | 
| 51 | 
            -
                  attributes = attributes.each_with_object({}) { |(k, v), h| | 
| 59 | 
            +
                  # check to see if the attribute exists and convert string to symbol for hash key
         | 
| 60 | 
            +
                  attributes = attributes.each_with_object({}) { |(k, v), h|
         | 
| 61 | 
            +
                    if (!self.class.attribute_map.key?(k.to_sym))
         | 
| 62 | 
            +
                      fail ArgumentError, "`#{k}` is not a valid attribute in `InfluxDB2::DeletePredicateRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
         | 
| 63 | 
            +
                    end
         | 
| 64 | 
            +
                    h[k.to_sym] = v
         | 
| 65 | 
            +
                  }
         | 
| 52 66 |  | 
| 53 | 
            -
                  if attributes. | 
| 67 | 
            +
                  if attributes.key?(:'start')
         | 
| 54 68 | 
             
                    self.start = attributes[:'start']
         | 
| 55 69 | 
             
                  end
         | 
| 56 70 |  | 
| 57 | 
            -
                  if attributes. | 
| 71 | 
            +
                  if attributes.key?(:'stop')
         | 
| 58 72 | 
             
                    self.stop = attributes[:'stop']
         | 
| 59 73 | 
             
                  end
         | 
| 60 74 |  | 
| 61 | 
            -
                  if attributes. | 
| 75 | 
            +
                  if attributes.key?(:'predicate')
         | 
| 62 76 | 
             
                    self.predicate = attributes[:'predicate']
         | 
| 63 77 | 
             
                  end
         | 
| 64 78 | 
             
                end
         | 
| @@ -103,9 +117,16 @@ module InfluxDB2 | |
| 103 117 | 
             
                end
         | 
| 104 118 |  | 
| 105 119 | 
             
                # Calculates hash code according to all attributes.
         | 
| 106 | 
            -
                # @return [ | 
| 120 | 
            +
                # @return [Integer] Hash code
         | 
| 107 121 | 
             
                def hash
         | 
| 108 | 
            -
                  [start, stop, predicate].hash
         | 
| 122 | 
            +
                  [start, stop, predicate, ].hash
         | 
| 123 | 
            +
                end
         | 
| 124 | 
            +
             | 
| 125 | 
            +
                # Builds the object from hash
         | 
| 126 | 
            +
                # @param [Hash] attributes Model attributes in the form of hash
         | 
| 127 | 
            +
                # @return [Object] Returns the model itself
         | 
| 128 | 
            +
                def self.build_from_hash(attributes)
         | 
| 129 | 
            +
                  new.build_from_hash(attributes)
         | 
| 109 130 | 
             
                end
         | 
| 110 131 |  | 
| 111 132 | 
             
                # Builds the object from hash
         | 
| @@ -114,15 +135,17 @@ module InfluxDB2 | |
| 114 135 | 
             
                def build_from_hash(attributes)
         | 
| 115 136 | 
             
                  return nil unless attributes.is_a?(Hash)
         | 
| 116 137 | 
             
                  self.class.openapi_types.each_pair do |key, type|
         | 
| 117 | 
            -
                    if  | 
| 118 | 
            -
                      #  | 
| 138 | 
            +
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         | 
| 139 | 
            +
                      self.send("#{key}=", nil)
         | 
| 140 | 
            +
                    elsif type =~ /\AArray<(.*)>/i
         | 
| 141 | 
            +
                      # check to ensure the input is an array given that the attribute
         | 
| 119 142 | 
             
                      # is documented as an array but the input is not
         | 
| 120 143 | 
             
                      if attributes[self.class.attribute_map[key]].is_a?(Array)
         | 
| 121 144 | 
             
                        self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
         | 
| 122 145 | 
             
                      end
         | 
| 123 146 | 
             
                    elsif !attributes[self.class.attribute_map[key]].nil?
         | 
| 124 147 | 
             
                      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
         | 
| 125 | 
            -
                    end | 
| 148 | 
            +
                    end
         | 
| 126 149 | 
             
                  end
         | 
| 127 150 |  | 
| 128 151 | 
             
                  self
         | 
| @@ -134,8 +157,8 @@ module InfluxDB2 | |
| 134 157 | 
             
                # @return [Object] Deserialized data
         | 
| 135 158 | 
             
                def _deserialize(type, value)
         | 
| 136 159 | 
             
                  case type.to_sym
         | 
| 137 | 
            -
                  when : | 
| 138 | 
            -
                     | 
| 160 | 
            +
                  when :Time
         | 
| 161 | 
            +
                    Time.parse(value)
         | 
| 139 162 | 
             
                  when :Date
         | 
| 140 163 | 
             
                    Date.parse(value)
         | 
| 141 164 | 
             
                  when :String
         | 
| @@ -144,7 +167,7 @@ module InfluxDB2 | |
| 144 167 | 
             
                    value.to_i
         | 
| 145 168 | 
             
                  when :Float
         | 
| 146 169 | 
             
                    value.to_f
         | 
| 147 | 
            -
                  when : | 
| 170 | 
            +
                  when :Boolean
         | 
| 148 171 | 
             
                    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
         | 
| 149 172 | 
             
                      true
         | 
| 150 173 | 
             
                    else
         | 
| @@ -165,8 +188,7 @@ module InfluxDB2 | |
| 165 188 | 
             
                      end
         | 
| 166 189 | 
             
                    end
         | 
| 167 190 | 
             
                  else # model
         | 
| 168 | 
            -
                     | 
| 169 | 
            -
                    temp_model.build_from_hash(value)
         | 
| 191 | 
            +
                    InfluxDB2.const_get(type).build_from_hash(value)
         | 
| 170 192 | 
             
                  end
         | 
| 171 193 | 
             
                end
         | 
| 172 194 |  | 
| @@ -188,7 +210,11 @@ module InfluxDB2 | |
| 188 210 | 
             
                  hash = {}
         | 
| 189 211 | 
             
                  self.class.attribute_map.each_pair do |attr, param|
         | 
| 190 212 | 
             
                    value = self.send(attr)
         | 
| 191 | 
            -
                     | 
| 213 | 
            +
                    if value.nil?
         | 
| 214 | 
            +
                      is_nullable = self.class.openapi_nullable.include?(attr)
         | 
| 215 | 
            +
                      next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
         | 
| 216 | 
            +
                    end
         | 
| 217 | 
            +
                    
         | 
| 192 218 | 
             
                    hash[param] = _to_hash(value)
         | 
| 193 219 | 
             
                  end
         | 
| 194 220 | 
             
                  hash
         | 
| @@ -211,5 +237,6 @@ module InfluxDB2 | |
| 211 237 | 
             
                    value
         | 
| 212 238 | 
             
                  end
         | 
| 213 239 | 
             
                end
         | 
| 240 | 
            +
             | 
| 214 241 | 
             
              end
         | 
| 215 242 | 
             
            end
         | 
| @@ -3,14 +3,15 @@ | |
| 3 3 |  | 
| 4 4 | 
             
            #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
         | 
| 5 5 |  | 
| 6 | 
            -
            OpenAPI  | 
| 6 | 
            +
            The version of the OpenAPI document: 0.1.0
         | 
| 7 7 |  | 
| 8 8 | 
             
            Generated by: https://openapi-generator.tech
         | 
| 9 | 
            -
            OpenAPI Generator version:  | 
| 9 | 
            +
            OpenAPI Generator version: 5.0.0-beta3
         | 
| 10 10 |  | 
| 11 11 | 
             
            =end
         | 
| 12 12 |  | 
| 13 13 | 
             
            require 'date'
         | 
| 14 | 
            +
            require 'time'
         | 
| 14 15 |  | 
| 15 16 | 
             
            module InfluxDB2
         | 
| 16 17 | 
             
              # Dialect are options to change the default CSV output format; https://www.w3.org/TR/2015/REC-tabular-metadata-20151217/#dialect-descriptions
         | 
| @@ -19,16 +20,16 @@ module InfluxDB2 | |
| 19 20 | 
             
                attr_accessor :header
         | 
| 20 21 |  | 
| 21 22 | 
             
                # Separator between cells; the default is ,
         | 
| 22 | 
            -
                 | 
| 23 | 
            +
                attr_reader :delimiter
         | 
| 23 24 |  | 
| 24 | 
            -
                #  | 
| 25 | 
            +
                # https://www.w3.org/TR/2015/REC-tabular-data-model-20151217/#columns
         | 
| 25 26 | 
             
                attr_accessor :annotations
         | 
| 26 27 |  | 
| 27 28 | 
             
                # Character prefixed to comment strings
         | 
| 28 | 
            -
                 | 
| 29 | 
            +
                attr_reader :comment_prefix
         | 
| 29 30 |  | 
| 30 31 | 
             
                # Format of timestamps
         | 
| 31 | 
            -
                 | 
| 32 | 
            +
                attr_reader :date_time_format
         | 
| 32 33 |  | 
| 33 34 | 
             
                class EnumAttributeValidator
         | 
| 34 35 | 
             
                  attr_reader :datatype
         | 
| @@ -52,62 +53,75 @@ module InfluxDB2 | |
| 52 53 | 
             
                  end
         | 
| 53 54 | 
             
                end
         | 
| 54 55 |  | 
| 55 | 
            -
                # Attribute mapping from ruby-style variable name to JSON key | 
| 56 | 
            +
                # Attribute mapping from ruby-style variable name to JSON key
         | 
| 56 57 | 
             
                def self.attribute_map
         | 
| 57 58 | 
             
                  {
         | 
| 58 59 | 
             
                    :'header' => :'header',
         | 
| 59 60 | 
             
                    :'delimiter' => :'delimiter',
         | 
| 60 61 | 
             
                    :'annotations' => :'annotations',
         | 
| 61 62 | 
             
                    :'comment_prefix' => :'commentPrefix',
         | 
| 62 | 
            -
                    :'date_time_format' => :'dateTimeFormat'
         | 
| 63 | 
            +
                    :'date_time_format' => :'dateTimeFormat',
         | 
| 63 64 | 
             
                  }
         | 
| 64 65 | 
             
                end
         | 
| 65 66 |  | 
| 66 67 | 
             
                # Attribute type mapping.
         | 
| 67 68 | 
             
                def self.openapi_types
         | 
| 68 69 | 
             
                  {
         | 
| 69 | 
            -
                    :'header' => :' | 
| 70 | 
            +
                    :'header' => :'Boolean',
         | 
| 70 71 | 
             
                    :'delimiter' => :'String',
         | 
| 71 72 | 
             
                    :'annotations' => :'Array<String>',
         | 
| 72 73 | 
             
                    :'comment_prefix' => :'String',
         | 
| 73 | 
            -
                    :'date_time_format' => :'String'
         | 
| 74 | 
            +
                    :'date_time_format' => :'String',
         | 
| 74 75 | 
             
                  }
         | 
| 75 76 | 
             
                end
         | 
| 76 77 |  | 
| 78 | 
            +
                # List of attributes with nullable: true
         | 
| 79 | 
            +
                def self.openapi_nullable
         | 
| 80 | 
            +
                  Set.new([
         | 
| 81 | 
            +
                  ])
         | 
| 82 | 
            +
                end
         | 
| 83 | 
            +
             | 
| 77 84 | 
             
                # Initializes the object
         | 
| 78 85 | 
             
                # @param [Hash] attributes Model attributes in the form of hash
         | 
| 79 86 | 
             
                def initialize(attributes = {})
         | 
| 80 | 
            -
                   | 
| 87 | 
            +
                  if (!attributes.is_a?(Hash))
         | 
| 88 | 
            +
                    fail ArgumentError, "The input argument (attributes) must be a hash in `InfluxDB2::Dialect` initialize method"
         | 
| 89 | 
            +
                  end
         | 
| 81 90 |  | 
| 82 | 
            -
                  # convert string to symbol for hash key
         | 
| 83 | 
            -
                  attributes = attributes.each_with_object({}) { |(k, v), h| | 
| 91 | 
            +
                  # check to see if the attribute exists and convert string to symbol for hash key
         | 
| 92 | 
            +
                  attributes = attributes.each_with_object({}) { |(k, v), h|
         | 
| 93 | 
            +
                    if (!self.class.attribute_map.key?(k.to_sym))
         | 
| 94 | 
            +
                      fail ArgumentError, "`#{k}` is not a valid attribute in `InfluxDB2::Dialect`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
         | 
| 95 | 
            +
                    end
         | 
| 96 | 
            +
                    h[k.to_sym] = v
         | 
| 97 | 
            +
                  }
         | 
| 84 98 |  | 
| 85 | 
            -
                  if attributes. | 
| 99 | 
            +
                  if attributes.key?(:'header')
         | 
| 86 100 | 
             
                    self.header = attributes[:'header']
         | 
| 87 101 | 
             
                  else
         | 
| 88 102 | 
             
                    self.header = true
         | 
| 89 103 | 
             
                  end
         | 
| 90 104 |  | 
| 91 | 
            -
                  if attributes. | 
| 105 | 
            +
                  if attributes.key?(:'delimiter')
         | 
| 92 106 | 
             
                    self.delimiter = attributes[:'delimiter']
         | 
| 93 107 | 
             
                  else
         | 
| 94 108 | 
             
                    self.delimiter = ','
         | 
| 95 109 | 
             
                  end
         | 
| 96 110 |  | 
| 97 | 
            -
                  if attributes. | 
| 111 | 
            +
                  if attributes.key?(:'annotations')
         | 
| 98 112 | 
             
                    if (value = attributes[:'annotations']).is_a?(Array)
         | 
| 99 113 | 
             
                      self.annotations = value
         | 
| 100 114 | 
             
                    end
         | 
| 101 115 | 
             
                  end
         | 
| 102 116 |  | 
| 103 | 
            -
                  if attributes. | 
| 104 | 
            -
                    self.comment_prefix = attributes[:' | 
| 117 | 
            +
                  if attributes.key?(:'comment_prefix')
         | 
| 118 | 
            +
                    self.comment_prefix = attributes[:'comment_prefix']
         | 
| 105 119 | 
             
                  else
         | 
| 106 120 | 
             
                    self.comment_prefix = '#'
         | 
| 107 121 | 
             
                  end
         | 
| 108 122 |  | 
| 109 | 
            -
                  if attributes. | 
| 110 | 
            -
                    self.date_time_format = attributes[:' | 
| 123 | 
            +
                  if attributes.key?(:'date_time_format')
         | 
| 124 | 
            +
                    self.date_time_format = attributes[:'date_time_format']
         | 
| 111 125 | 
             
                  else
         | 
| 112 126 | 
             
                    self.date_time_format = 'RFC3339'
         | 
| 113 127 | 
             
                  end
         | 
| @@ -143,7 +157,7 @@ module InfluxDB2 | |
| 143 157 | 
             
                  return false if !@delimiter.nil? && @delimiter.to_s.length < 1
         | 
| 144 158 | 
             
                  return false if !@comment_prefix.nil? && @comment_prefix.to_s.length > 1
         | 
| 145 159 | 
             
                  return false if !@comment_prefix.nil? && @comment_prefix.to_s.length < 0
         | 
| 146 | 
            -
                  date_time_format_validator = EnumAttributeValidator.new('String', [ | 
| 160 | 
            +
                  date_time_format_validator = EnumAttributeValidator.new('String', ["RFC3339", "RFC3339Nano"])
         | 
| 147 161 | 
             
                  return false unless date_time_format_validator.valid?(@date_time_format)
         | 
| 148 162 | 
             
                  true
         | 
| 149 163 | 
             
                end
         | 
| @@ -179,9 +193,9 @@ module InfluxDB2 | |
| 179 193 | 
             
                # Custom attribute writer method checking allowed values (enum).
         | 
| 180 194 | 
             
                # @param [Object] date_time_format Object to be assigned
         | 
| 181 195 | 
             
                def date_time_format=(date_time_format)
         | 
| 182 | 
            -
                  validator = EnumAttributeValidator.new('String', [ | 
| 196 | 
            +
                  validator = EnumAttributeValidator.new('String', ["RFC3339", "RFC3339Nano"])
         | 
| 183 197 | 
             
                  unless validator.valid?(date_time_format)
         | 
| 184 | 
            -
                    fail ArgumentError,  | 
| 198 | 
            +
                    fail ArgumentError, "invalid value for \"date_time_format\", must be one of #{validator.allowable_values}."
         | 
| 185 199 | 
             
                  end
         | 
| 186 200 | 
             
                  @date_time_format = date_time_format
         | 
| 187 201 | 
             
                end
         | 
| @@ -205,9 +219,16 @@ module InfluxDB2 | |
| 205 219 | 
             
                end
         | 
| 206 220 |  | 
| 207 221 | 
             
                # Calculates hash code according to all attributes.
         | 
| 208 | 
            -
                # @return [ | 
| 222 | 
            +
                # @return [Integer] Hash code
         | 
| 209 223 | 
             
                def hash
         | 
| 210 | 
            -
                  [header, delimiter, annotations, comment_prefix, date_time_format].hash
         | 
| 224 | 
            +
                  [header, delimiter, annotations, comment_prefix, date_time_format, ].hash
         | 
| 225 | 
            +
                end
         | 
| 226 | 
            +
             | 
| 227 | 
            +
                # Builds the object from hash
         | 
| 228 | 
            +
                # @param [Hash] attributes Model attributes in the form of hash
         | 
| 229 | 
            +
                # @return [Object] Returns the model itself
         | 
| 230 | 
            +
                def self.build_from_hash(attributes)
         | 
| 231 | 
            +
                  new.build_from_hash(attributes)
         | 
| 211 232 | 
             
                end
         | 
| 212 233 |  | 
| 213 234 | 
             
                # Builds the object from hash
         | 
| @@ -216,15 +237,17 @@ module InfluxDB2 | |
| 216 237 | 
             
                def build_from_hash(attributes)
         | 
| 217 238 | 
             
                  return nil unless attributes.is_a?(Hash)
         | 
| 218 239 | 
             
                  self.class.openapi_types.each_pair do |key, type|
         | 
| 219 | 
            -
                    if  | 
| 220 | 
            -
                      #  | 
| 240 | 
            +
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         | 
| 241 | 
            +
                      self.send("#{key}=", nil)
         | 
| 242 | 
            +
                    elsif type =~ /\AArray<(.*)>/i
         | 
| 243 | 
            +
                      # check to ensure the input is an array given that the attribute
         | 
| 221 244 | 
             
                      # is documented as an array but the input is not
         | 
| 222 245 | 
             
                      if attributes[self.class.attribute_map[key]].is_a?(Array)
         | 
| 223 246 | 
             
                        self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
         | 
| 224 247 | 
             
                      end
         | 
| 225 248 | 
             
                    elsif !attributes[self.class.attribute_map[key]].nil?
         | 
| 226 249 | 
             
                      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
         | 
| 227 | 
            -
                    end | 
| 250 | 
            +
                    end
         | 
| 228 251 | 
             
                  end
         | 
| 229 252 |  | 
| 230 253 | 
             
                  self
         | 
| @@ -236,8 +259,8 @@ module InfluxDB2 | |
| 236 259 | 
             
                # @return [Object] Deserialized data
         | 
| 237 260 | 
             
                def _deserialize(type, value)
         | 
| 238 261 | 
             
                  case type.to_sym
         | 
| 239 | 
            -
                  when : | 
| 240 | 
            -
                     | 
| 262 | 
            +
                  when :Time
         | 
| 263 | 
            +
                    Time.parse(value)
         | 
| 241 264 | 
             
                  when :Date
         | 
| 242 265 | 
             
                    Date.parse(value)
         | 
| 243 266 | 
             
                  when :String
         | 
| @@ -246,7 +269,7 @@ module InfluxDB2 | |
| 246 269 | 
             
                    value.to_i
         | 
| 247 270 | 
             
                  when :Float
         | 
| 248 271 | 
             
                    value.to_f
         | 
| 249 | 
            -
                  when : | 
| 272 | 
            +
                  when :Boolean
         | 
| 250 273 | 
             
                    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
         | 
| 251 274 | 
             
                      true
         | 
| 252 275 | 
             
                    else
         | 
| @@ -267,8 +290,7 @@ module InfluxDB2 | |
| 267 290 | 
             
                      end
         | 
| 268 291 | 
             
                    end
         | 
| 269 292 | 
             
                  else # model
         | 
| 270 | 
            -
                     | 
| 271 | 
            -
                    temp_model.build_from_hash(value)
         | 
| 293 | 
            +
                    InfluxDB2.const_get(type).build_from_hash(value)
         | 
| 272 294 | 
             
                  end
         | 
| 273 295 | 
             
                end
         | 
| 274 296 |  | 
| @@ -290,7 +312,11 @@ module InfluxDB2 | |
| 290 312 | 
             
                  hash = {}
         | 
| 291 313 | 
             
                  self.class.attribute_map.each_pair do |attr, param|
         | 
| 292 314 | 
             
                    value = self.send(attr)
         | 
| 293 | 
            -
                     | 
| 315 | 
            +
                    if value.nil?
         | 
| 316 | 
            +
                      is_nullable = self.class.openapi_nullable.include?(attr)
         | 
| 317 | 
            +
                      next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
         | 
| 318 | 
            +
                    end
         | 
| 319 | 
            +
                    
         | 
| 294 320 | 
             
                    hash[param] = _to_hash(value)
         | 
| 295 321 | 
             
                  end
         | 
| 296 322 | 
             
                  hash
         | 
| @@ -313,5 +339,6 @@ module InfluxDB2 | |
| 313 339 | 
             
                    value
         | 
| 314 340 | 
             
                  end
         | 
| 315 341 | 
             
                end
         | 
| 342 | 
            +
             | 
| 316 343 | 
             
              end
         | 
| 317 344 | 
             
            end
         |