Giter Site home page Giter Site logo

terraform-oci-cloudbricks-streams's Introduction

OCI Cloud Bricks: Streaming

License: UPL Quality gate

Introduction

The following cloud brick enables you to create a stream associated to a stream pool inside OCI

Reference Architecture

The following is the reference architecture associated to this brick Reference Architecture

Prerequisites

  • Pre-existent compartment structure
  • Pre-existent Streams Pool

Sample tfvar file

########## SAMPLE TFVAR FILE ##########
########## PROVIDER SPECIFIC 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"
########## PROVIDER SPECIFIC VARIABLES ##########
########## ARTIFACT SPECIFIC VARIABLES ##########
stream_instance_compartment_name    = "MY_ARTIFACT_COMPARTMENT"
stream_pool_display_name            = "My_Stream_Pool"
stream_display_name                 = "My_Stream"
stream_log_retention_hours          = "24"
stream_num_partitions               = "1"
########## ARTIFACT SPECIFIC VARIABLES ##########
########## SAMPLE TFVAR FILE ##########

Variable specific considerations

  • Stream will be created on the same compartment where the stream pool associated to it locates at
  • The amount of bandwidth given by stream is a direct consecuence of the amount of partitions are passed on through variable stream_num_partitions

Sample provider

The following is the base provider definition to be used with this module

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

No requirements.

Providers

Name Version
oci 4.40.0

Modules

No modules.

Resources

Name Type
oci_streaming_stream.Stream resource
oci_identity_compartments.COMPARTMENTS data source
oci_streaming_stream_pools.SPOOL 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
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
stream_display_name Display Name of Created Stream any n/a yes
stream_instance_compartment_name Compartment name where Stream is located string "" no
stream_log_retention_hours The number of hours to keep a log file before deleting it (in hours). string "24" no
stream_num_partitions The default number of log partitions per topic. string "1" no
stream_pool_display_name The name of the stream pool. any n/a yes
tenancy_ocid OCID of tenancy any n/a yes
user_ocid User OCID in tenancy. any n/a yes

Outputs

Name Description
stream Stream 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-streams's People

Contributors

timclegg avatar ttscoff avatar dralquinta avatar djukickosta avatar

Watchers

 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.