code: 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
  }
docs: // NewOCIProvider initialises a new OCI DNS based Provider.