All Projects → Preskton → terraform-provider-twilio

Preskton / terraform-provider-twilio

Licence: Apache-2.0 license
Terraform provider for Twilio. 🌎☎️ Preserved for archaeological fun. Please see the official Twilio TF provider @ https://github.com/twilio/terraform-provider-twilio.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to terraform-provider-twilio

terraform-provider-opc
Terraform Oracle Public Cloud provider
Stars: ✭ 29 (-9.37%)
Mutual labels:  terraform-provider
terraform-provider-qingcloud
Terraform QingCloud Provider
Stars: ✭ 34 (+6.25%)
Mutual labels:  terraform-provider
terraform-aws-kinesis-firehose
This code creates a Kinesis Firehose in AWS to send CloudWatch log data to S3.
Stars: ✭ 25 (-21.87%)
Mutual labels:  terraform-provider
HotelManagement
🏡 A Hotel Management system in C#
Stars: ✭ 77 (+140.63%)
Mutual labels:  twilio
wireless-portable-fax
Build a cellular connected portable fax machine
Stars: ✭ 17 (-46.87%)
Mutual labels:  twilio
ruby-whatsapp-bots
A repo of WhatsApp bots built in Ruby
Stars: ✭ 18 (-43.75%)
Mutual labels:  twilio
terraform-provider-alks
Terraform Provider for ALKS
Stars: ✭ 35 (+9.38%)
Mutual labels:  terraform-provider
terraform-provider-bitbucketserver
Terraform provider for Bitbucket Server Management
Stars: ✭ 26 (-18.75%)
Mutual labels:  terraform-provider
terraform-provider-nexus
Terraform provider for Sonatype Nexus
Stars: ✭ 74 (+131.25%)
Mutual labels:  terraform-provider
terraform-provider-honeycombio
A Terraform provider for Honeycomb.io
Stars: ✭ 37 (+15.63%)
Mutual labels:  terraform-provider
terraform-provider-signalfx
Terraform SignalFx provider
Stars: ✭ 26 (-18.75%)
Mutual labels:  terraform-provider
sms-bot
an SMS bot built with Google sheets and Twilio
Stars: ✭ 61 (+90.63%)
Mutual labels:  twilio
terraform-provider-kite
Terraform provider for managing long term portfolio with Zerodha Kite
Stars: ✭ 21 (-34.37%)
Mutual labels:  terraform-provider
terraform-provider-rediscloud
Terraform Redis Enterprise Cloud Pro Provider: Deploy, update, and manage Redis Enterprise Cloud Pro databases as code through HashiCorp Terraform
Stars: ✭ 24 (-25%)
Mutual labels:  terraform-provider
twilio-chat-demo-android
Chat API Demo Application for Android
Stars: ✭ 64 (+100%)
Mutual labels:  twilio
IEvangelist.VideoChat
Imagine two Twilio SDKs, ASP.NET Core/C#, Angular/TypeScript, SignalR, etc... Yeah, amazing!
Stars: ✭ 66 (+106.25%)
Mutual labels:  twilio
twilio-taskrouter.js
JS SDK v2 for Twilio's TaskRouter skills based routing system.
Stars: ✭ 20 (-37.5%)
Mutual labels:  twilio
terraform-provider-checkly
Terraform provider for the Checkly monitoring service
Stars: ✭ 37 (+15.63%)
Mutual labels:  terraform-provider
personal-wealth-portfolio-mgt-bot
WARNING: This repository is no longer maintained ⚠️ This repository will not be updated. This repository will be kept available in read-only mode.
Stars: ✭ 43 (+34.38%)
Mutual labels:  twilio
terraform-provider-sumologic
Terraform provider for Sumo Logic
Stars: ✭ 24 (-25%)
Mutual labels:  terraform-provider

🎉 Twilio has launched an OFFICIAL Terraform provider. I strongly encourage you to check it out and, when possible, use it instead, as this version of the provider will no longer be maintained. 🎉

Build Status GitHub release (latest by date including pre-releases) Terraform Registry

Twilio Terraform Provider

The goal of this Terraform provider plugin is to make managing your Twilio account easier.

Current features:

  • Compatible with Terraform v0.12+
  • twilio_phone_number
    • Search
      • Country code
      • Area Code
      • Number prefix (or place * wherever you'd like!)
    • Create/Purchase
    • Update
    • Delete/Release
  • twilio_subaccount
    • Create
    • Update
    • Delete
  • twilio_api_key
    • Create
    • Delete

More coming eventually!

Getting Started

Installing the provider

Terraform .13+

Starting in Terraform versions .13 and greater, you can reference this provider via the Terraform Registry. You don't have to download a thing - Terraform does the work for you. Simply include this as part of your .tf file:

terraform {
  required_providers {
    twilio = {
      source = "Preskton/twilio"
      version = "0.1.5"
    }
  }
}

Prior versions of Terraform

Download the latest release of the provider for your operating system/processor architecture, unzip, and place in your ~/.terraform.d/plugins directory.

The basics

  1. Start a trial account at twilio.com (if you don't have one already). Use the Console Dashboard to take note of your Account SID (a long string starts with AC and looks like a GUID) and Auth Token (also a long GUID-like string, hidden under the View link).
  2. Use the example below, replacing account_sid and auth_token with the appropriate values.
  3. terraform apply Note: this will cost you REAL MONEY (or at the very least trial credits).

Example

Note: running and applying the below could cost you REAL MONEY! Please use this tool wisely!

~> Important: You should never check the values for your account_sid and auth_token into source control, as this would allow others to modify your Twilio account. Instead, source these variables from the environment using Terraform variables sourced from envrionment variables or passed as arguments to your plan/apply.

terraform {
  required_providers {
    twilio = {
      source = "Preskton/twilio"
      version = "0.1.5"
    }
  }
}

provider "twilio" {
    account_sid = "<your account sid here>"
    auth_token = "<your auth token here>"
}

resource "twilio_subaccount" "woomy" {
    friendly_name = "Woomy Subaccount #1"
}

resource "twilio_api_key" "woomy" {
    friendly_name = "Woomy Key #1"
}

resource "twilio_phone_number" "area_code_test" {
    // Find a number
    country_code = "US"
    area_code = "972"
    friendly_name = "terraform-provider-twilio area code test number"

    // Configure your number

    address_sid = "ADXXXX"          // Certain countries may require a validated address!
    identity_sid = "IDXXXX"         // Certain countries may require a validated identity!
    trunk_sid = "XXXXX"

    voice {
        primary_url = "https://genoq.com/handlers/voice-primary"
        primary_http_method = "POST"
        fallback_url = "https://genoq.com/handlers/voice-fallback"
        fallback_http_method = "GET"
        caller_id_enabled = "true"
        receive_mode = "voice"
    }

    sms {
        primary_url = "https://genoq.com/handlers/sms-primary"
        primary_http_method = "POST"
        fallback_url = "https://genoq.com/handlers/sms-fallback"
        fallback_http_method = "GeT"
    }

    status_callback {
        url = "https://genoq.com/handlers/status-callback"
        http_method = "GET"
    }

    // Note: Emergency calling requires a validated address
    emergency {
        address_sid = "ADXXXXX"
        status = "active"
    }
}

resource "twilio_phone_number" "search_test" {
    country_code = "US"
    search = "972*"
    friendly_name = "terraform-provider-twilio by-search test number"

    sms {
        primary_url = "https://genoq.com/handlers/sms-primary"
        primary_http_method = "POST"
        fallback_url = "https://genoq.com/handlers/sms-fallback"
        fallback_http_method = "GET"
    }

    voice {
        receive_mode = "fax"
        application_sid = "APXXXXX"
    }
}

Disclaimer

This is NOT an official Twilio project and is maintained in my free time.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].