provider/oci.go
func NewOCIProvider(cfg OCIConfig, domainFilter DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool) (*OCIProvider, error) {
	var client ociDNSClient
	client, err := dns.NewDnsClientWithConfigurationProvider(common.NewRawConfigurationProvider(
		cfg.Auth.TenancyID,
		cfg.Auth.UserID,
		cfg.Auth.Region,
		cfg.Auth.Fingerprint,
		cfg.Auth.PrivateKey,
		&cfg.Auth.Passphrase,
	))
	if err != nil {
		return nil, errors.Wrap(err, "initialising OCI DNS API client")
	}

	return &OCIProvider{
		client:       client,
		cfg:          cfg,
		domainFilter: domainFilter,
		zoneIDFilter: zoneIDFilter,
		dryRun:       dryRun,
	}, nil
}
func NewOCIProvider(cfg OCIConfig, domainFilter DomainFilter, zoneIDFilter ZoneIDFilter, dryRun bool) (*OCIProvider, error) {
	var client ociDNSClient
	client, err := dns.NewDnsClientWithConfigurationProvider(common.NewRawConfigurationProvider(
		cfg.Auth.TenancyID,
		cfg.Auth.UserID,
		cfg.Auth.Region,
		cfg.Auth.Fingerprint,
		cfg.Auth.PrivateKey,
		&cfg.Auth.Passphrase,
	))
	if err != nil {
		return nil, errors.Wrap(err, "initialising OCI DNS API client")
	}

	return &OCIProvider{
		client:       client,
		cfg:          cfg,
		domainFilter: domainFilter,
		zoneIDFilter: zoneIDFilter,
		dryRun:       dryRun,
	}, nil
}
// NewOCIProvider initialises a new OCI DNS based Provider.