Skip to content

Instantly share code, notes, and snippets.

View greyhoundforty's full-sized avatar
🏠
Working from home

Ryan Tiffany greyhoundforty

🏠
Working from home
View GitHub Profile
@greyhoundforty
greyhoundforty / bm-tf.md
Created January 7, 2023 20:06
IBM Cloud Classic Bare Metal Example
locals {
  tags = [
    "datacenter:${var.datacenter}",
    "owner:${var.owner}",
    "workspace:${terraform.workspace}",
    "provider:ibmcloud"
  ]
}
@greyhoundforty
greyhoundforty / tf-ignore-lifecycle.md
Created December 9, 2022 11:01
Ignore changes using terraform lifecycle
resource "ibm_compute_bare_metal" "host" {
  package_key_name       = "2U_DUAL_INTEL_XEON_E5V4_12_DRIVES"
  process_key_name       = "INTEL_INTEL_XEON_8260_2_4_1U"
  memory                 = 384
  os_key_name            = "OS_NO_OPERATING_SYSTEM"
  hostname               = var.name
  domain                 = var.domain_name
  datacenter             = var.datacenter
  network_speed          = var.network_speed
@greyhoundforty
greyhoundforty / main.md
Created November 30, 2022 16:14
IBM Cloud VPC Secondary NIC Floating IP
resource "ibm_is_instance" "instance" {
  name                     = "example-instance"
  image                    = var.image_id
  profile                  = "bx2-2x8"
  resource_group           = var.resource_group_id
  metadata_service_enabled = false

  primary_network_interface {
    subnet            = var.subnet_id
@greyhoundforty
greyhoundforty / docker-compose.yml
Created September 28, 2022 18:50
Docker Compose + Traefik
version: "3.7"
services:
traefik:
image: traefik:2.8.7
container_name: traefik
command:
- --log.level=DEBUG
- --entrypoints.http.address=:80
- --entrypoints.https.address=:443
- --entrypoints.ssh.address=:22
@greyhoundforty
greyhoundforty / tf-cloud-workflow.yml
Created September 23, 2022 13:56
Github Action with Terraform Cloud Backend
name: 'Generate Terraform Plan on Cloud Workspace'
on:
push:
branches: [ "main" ]
pull_request:
permissions:
contents: read
@greyhoundforty
greyhoundforty / vpc-observability-test.md
Created September 22, 2022 14:52
VPC and Observability Test

main.tf

resource "ibm_resource_group" "group" {
  count = var.existing_resource_group != "" ? 0 : 1
  name  = "${var.prefix}-resource-group"
  tags  = concat(local.tags, var.tags, ["region:${var.region}", "vpc:${var.prefix}-vpc"])
}
@greyhoundforty
greyhoundforty / vpc-tf-data.md
Created August 25, 2022 12:57
Import VPC Address Prefixes and Routes

Import Address Prefixes

data "ibm_is_vpc" "project" {
  name = var.vpc_name
}

data "ibm_is_vpc_address_prefixes" "all" {
  vpc = data.ibm_is_vpc.project.id
}
@greyhoundforty
greyhoundforty / tf-alias-md
Created June 3, 2022 14:47
Terraform Alias at IBM
**providers.tf**
```hcl
# Region: Washington DC
provider "ibm" {
ibmcloud_api_key = var.ibmcloud_api_key
alias = "us-east"
region = "wdc"
}
@greyhoundforty
greyhoundforty / get-invoices-between.py
Created April 5, 2022 14:33
Get Invoices between dates with IBM Cloud Python SDK
from pprint import pprint
import SoftLayer
from SoftLayer.CLI import environment
from SoftLayer.CLI import formatting
import json
endpoint_url="https://api.softlayer.com/rest/v3.1/"
client = SoftLayer.create_client_from_env(
endpoint_url=endpoint_url
@greyhoundforty
greyhoundforty / python-billing.py
Last active March 31, 2022 21:07
Python Billing Object Mask
from pprint import pprint
import SoftLayer
from SoftLayer.CLI import environment
from SoftLayer.CLI import formatting
import json
endpoint_url="https://api.softlayer.com/rest/v3.1/"
client = SoftLayer.create_client_from_env(
endpoint_url=endpoint_url