Giter Site home page Giter Site logo

terraform-oci-cloudbricks-dataintegration's Introduction

OCI Cloud Bricks: data integration

License: UPL Quality gate

Introduction

The following cloudbrick enables you to create a Datalake Workspace inside OCI

Reference Architecture

The following is the reference architecture associated to this brick

Reference Architecture

Prerequisites

  • Pre existent Compartment Structure
  • Pre existent VCN, Subnet

Sample tfvars file

If the datalake is created on a private subnet

######################################## COMMON VARIABLES ######################################
region           = "foo-region-1"
tenancy_ocid     = "ocid1.tenancy.oc1..abcdefg"
user_ocid        = "ocid1.user.oc1..aaaaaaabcdefg"
fingerprint      = "fo:oo:ba:ar:ba:ar"
private_key_path = "/absolute/path/to/api/key/your_api_key.pem"
######################################## COMMON VARIABLES ######################################
######################################## ARTIFACT SPECIFIC VARIABLES ######################################
integration_workspace_display_name              = "my-datalake-workspace"
integration_workspace_description               = "Datalake description"
integration_workspace_instance_compartment_name = "MY_ARTIFACT_COMPARTMENT"
integration_workspace_network_compartment_name  = "MY_NETWORK_COMPARTMENT"
workspace_is_private_network_enabled            = true
network_subnet_name                             = "My_Subnet"
vcn_display_name                                = "MY_VCN"
######################################## ARTIFACT SPECIFIC VARIABLES ######################################

If the datalake is created on a public endpoint

######################################## COMMON VARIABLES ######################################
region           = "foo-region-1"
tenancy_ocid     = "ocid1.tenancy.oc1..abcdefg"
user_ocid        = "ocid1.user.oc1..aaaaaaabcdefg"
fingerprint      = "fo:oo:ba:ar:ba:ar"
private_key_path = "/absolute/path/to/api/key/your_api_key.pem"
######################################## COMMON VARIABLES ######################################
######################################## ARTIFACT SPECIFIC VARIABLES ######################################
integration_workspace_display_name              = "my_datalake_workspace"
integration_workspace_description               = "Datalake description"
integration_workspace_instance_compartment_name = "MY_ARTIFACT_COMPARTMENT"
integration_workspace_network_compartment_name  = "MY_NETWORK_COMPARTMENT"
workspace_is_private_network_enabled            = false
######################################## ARTIFACT SPECIFIC VARIABLES ######################################

Variable specific considerations

  • If the datalake is created on a private subnet, the following variables are mandatory:
    • workspace_is_private_network_enabled must be set to true
    • network_subnet_name and vcn_display_name must be provided
  • In any other case, only variable workspace_is_private_network_enabled must be set to false dropping the need of the subsequent variables

Sample provider

terraform {
  required_version = ">= 0.13.5"
}
provider "oci" {
  region       = var.region
  tenancy_ocid = var.tenancy_ocid
  user_ocid        = var.user_ocid
  fingerprint      = var.fingerprint
  private_key_path = var.private_key_path
  disable_auto_retries = "true"
}

provider "oci" {
  alias        = "home"
  region       = data.oci_identity_region_subscriptions.home_region_subscriptions.region_subscriptions[0].region_name
  tenancy_ocid = var.tenancy_ocid  
  user_ocid        = var.user_ocid
  fingerprint      = var.fingerprint
  private_key_path = var.private_key_path
  disable_auto_retries = "true"
}

Variable documentation

Requirements

Name Version
terraform >= 0.13.5

Providers

Name Version
oci n/a

Modules

No modules.

Resources

Name Type
oci_dataintegration_workspace.Workspace resource
oci_core_subnets.SUBNET data source
oci_core_vcns.VCN data source
oci_identity_compartments.COMPARTMENTS data source
oci_identity_compartments.NWCOMPARTMENTS data source

Inputs

Name Description Type Default Required
fingerprint API Key Fingerprint for user_ocid derived from public API Key imported in OCI User config any n/a yes
integration_workspace_description Description of the integration workspace any n/a yes
integration_workspace_display_name Display name of the integration workspace any n/a yes
integration_workspace_instance_compartment_name Compartment name where the integration workspace instance will be created any n/a yes
integration_workspace_network_compartment_name Compartment name where the integration workspace network will be created any n/a yes
network_subnet_name Display name of the subnet any n/a yes
private_key_path Private Key Absolute path location where terraform is executed any n/a yes
region Target region where artifacts are going to be created any n/a yes
tenancy_ocid OCID of tenancy any n/a yes
user_ocid User OCID in tenancy. any n/a yes
vcn_display_name Display name of the VCN any n/a yes
workspace_is_private_network_enabled Enable/Disable private network for the integration workspace bool false no

Outputs

Name Description
dataintegrationworkspace Workspace Object

Contributing

This project is open source. Please submit your contributions by forking this repository and submitting a pull request! Oracle appreciates any contributions that are made by the open source community.

License

Copyright (c) 2021 Oracle and/or its affiliates.

Licensed under the Universal Permissive License (UPL), Version 1.0.

See LICENSE for more details.

terraform-oci-cloudbricks-dataintegration's People

Contributors

dralquinta avatar timclegg avatar ttscoff avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.