Class: VectorAmp::ConfluenceSource

Inherits:
Source
  • Object
show all
Defined in:
lib/vector_amp/source.rb

Overview

Confluence ingestion source. Authenticates via basic auth (username + API token) by default, or Atlassian OAuth. include_attachments defaults to false.

Constant Summary

Constants inherited from Source

Source::SUPPORTED_SOURCE_TYPES

Instance Attribute Summary

Attributes inherited from Source

#config, #description, #id, #metadata, #name, #source_type

Instance Method Summary collapse

Methods inherited from Source

#[], from_api, #inspect, normalize_hash, #to_create_body, #to_h

Constructor Details

#initialize(cloud_id: nil, base_url: nil, name: nil, auth_mode: "basic", username: nil, api_token: nil, oauth_credentials: nil, spaces: nil, include_attachments: false, connection_id: nil, description: nil, metadata: nil, id: nil, **config) ⇒ ConfluenceSource

Parameters:

  • cloud_id (String, nil) (defaults to: nil)

    Atlassian OAuth cloud/site id; required unless base_url is given.

  • base_url (String, nil) (defaults to: nil)

    Confluence base URL, e.g. https://company.atlassian.net.

  • name (String, nil) (defaults to: nil)

    defaults to confluence-<space>/confluence-<host>/confluence-source.

  • auth_mode (String) (defaults to: "basic")

    basic (default) or oauth.

  • username (String, nil) (defaults to: nil)

    username for basic auth.

  • api_token (String, nil) (defaults to: nil)

    API token for basic auth.

  • oauth_credentials (Hash, nil) (defaults to: nil)

    OAuth credentials for oauth auth_mode.

  • spaces (String, Array<String>, nil) (defaults to: nil)

    space keys to ingest; empty means all accessible.

  • include_attachments (Boolean) (defaults to: false)

    include page attachments; defaults to false.

  • connection_id (String, nil) (defaults to: nil)

    optional managed connection id used in place of inline credentials.

  • description (String, nil) (defaults to: nil)

    optional description.

  • metadata (Hash, nil) (defaults to: nil)

    optional metadata.

  • id (String, nil) (defaults to: nil)

    optional API source id.

  • config (Hash)

    additional Confluence-source config forwarded to the API.



358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
# File 'lib/vector_amp/source.rb', line 358

def initialize(cloud_id: nil, base_url: nil, name: nil, auth_mode: "basic", username: nil, api_token: nil,
               oauth_credentials: nil, spaces: nil, include_attachments: false, connection_id: nil, description: nil, metadata: nil, id: nil, **config)
  if (cloud_id.nil? || cloud_id.to_s.empty?) && (base_url.nil? || base_url.to_s.empty?)
    raise ArgumentError, "cloud_id or base_url is required"
  end

  super(
    id: id,
    source_type: "confluence",
    name: name || SourceNames.confluence(spaces: spaces, cloud_id: cloud_id, base_url: base_url),
    description: description,
    metadata: ,
    config: Utils.compact_hash(config.merge(
      cloud_id: cloud_id,
      base_url: base_url,
      auth_mode: auth_mode,
      username: username,
      api_token: api_token,
      oauth_credentials: oauth_credentials,
      spaces: spaces.nil? ? nil : Array(spaces),
      include_attachments: include_attachments,
      connection_id: connection_id
    ))
  )
end