DEV Community

SanjaiKumar2311
SanjaiKumar2311

Posted on

CREATE SPOTIFY PLAYLIST USING TERRAFORM

In this blog, I'll walk you through creating Spotify playlists using Terraform. This process involves setting up the necessary files, configuring the Spotify provider, and running the Terraform commands to automate playlist creation. Below are the prerequisites and the step-by-step guide.

Prerequisites:
Spotify Account: **You need an active Spotify account to generate the API keys.
**Docker Installed:
Ensure Docker is installed on your machine to run Terraform in a container.
**Terraform Installed: **Have Terraform installed and configured on your local machine.
**Spotify Developer Account: **Create an account on Spotify Developer Dashboard and generate your client ID and secret key.

Step 1: Setting Up Your Terraform Files
We'll start by creating the necessary Terraform files. Here's what each file does:

  1. terraform.tf This file is the main configuration for Terraform. It specifies the provider and the version we're going to use.
terraform {
  required_providers {
    spotify = {
      source = "conradludgate/spotify"
      version = "0.2.7"
    }
  }
}

provider "spotify" {
  api_key = var.api_key
}
Enter fullscreen mode Exit fullscreen mode
  1. variable.tf This file is where we define our variables. In this case, we need to store our Spotify API key.
variable "api_key" {
  type = string
}
Enter fullscreen mode Exit fullscreen mode
  1. playlist.tf This file contains the resources that Terraform will create. We're setting up two playlists here: one for Kollywood music and another for Eminem's tracks.
resource "spotify_playlist" "kollywood" {
  name  = "Kollywood"
  tracks = ["1hHrBEkN0JIaeFPegy4Xak"]
}

data "spotify_search_track" "eninem" {
  artist = "Eminem"
  limit  = 3
}

resource "spotify_playlist" "slimShady" {
  name  = "Slim Shady"
  tracks = [
    data.spotify_search_track.eninem.tracks[0].id,
    data.spotify_search_track.eninem.tracks[1].id,
    data.spotify_search_track.eninem.tracks[2].id
  ]
}
Enter fullscreen mode Exit fullscreen mode
  1. terraform.tfvars This file is where we provide the value for the API key. Replace "nUsXPGiNSd3wVHmCz_UH--D347MnBYbuGG4j3xB3wwerPGKtcoyYrBLXz36ovDA2" with your actual API key.
api_key = "nUsXPGiNSd3wVHmCz_UH--D347MnBYbuGG4j3xB3wwerPGKtcoyYrBLXz36ovDA2"
Enter fullscreen mode Exit fullscreen mode
  1. .env This file stores your Spotify Client ID and Secret. Make sure you don't share this file publicly.
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_secret_key
Enter fullscreen mode Exit fullscreen mode

Step 2: Setting Up Your Spotify Developer Account

Go to the Spotify Developer Dashboard.
Click on "Create an App" and fill out the required details.
Once the app is created, you'll be given a Client ID and a Client Secret. Store these in the .env file as shown above.

Step 3:
Running Terraform
Open your terminal and navigate to the directory containing your Terraform files.
Run the following commands to initialize and apply your Terraform configuration:

terraform init
terraform apply
Enter fullscreen mode Exit fullscreen mode

Terraform will prompt you to confirm the changes. Type yes and hit enter.

Step 4: Verifying the Playlists
Once Terraform has finished running, head over to your Spotify account and check your playlists. You should see two new playlists: Kollywood and Slim Shady. The Kollywood playlist will have a single track, while the Slim Shady playlist will have three Eminem tracks.

Image description
Image description

Top comments (0)