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.



336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/vector_amp/source.rb', line 336

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