Giter VIP home page Giter VIP logo

terraform-provider-lacework's Introduction

Terraform Provider

Requirements

  • Terraform 0.12.x
  • Go 1.14 (to build the provider plugin)

Building The Provider

Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-lacework

$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone [email protected]:terraform-providers/terraform-provider-lacework

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-lacework
$ make build

Note: For contributions created from forks, the repository should still be cloned under the $GOPATH/src/github.com/terraform-providers/terraform-provider-lacework directory to allow the provided make commands to properly run, build, and test this project.

Using the provider

If you're building the provider, follow the instructions to install it as a plugin. After placing it into your plugins directory, run terraform init to initialize it.

Further usage documentation is available on the Terraform website.

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.11+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make build
...
$ $GOPATH/bin/terraform-provider-lacework
...

In order to test the provider, you can simply run make test.

$ make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

$ make testacc

terraform-provider-lacework's People

Contributors

afiune avatar mbfrahry avatar mjunglw avatar scottford-lw avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

terraform-provider-lacework's Issues

Unable to read inputs from provider

When a provider is partially defined as the following example:

provider "lacewoek" {
	account    = "tech-ally"
	api_key    = "MYKEY_123abc"
}

And we run terraform apply, the provider will ask for the API Secret but it won't accept it:

$ terraform apply
provider.lacework.techally.api_secret
  Lacework API access secret

  Enter a value: foo


Error: Missing required attribute

  on <input-prompt> line 1:
  (source code not available)

The attribute "account" is required, but no definition was found.


Error: Missing required attribute

  on <input-prompt> line 1:
  (source code not available)

The attribute "api_key" is required, but no definition was found.

[Feature] Support custom templates for Jira Intergrations

User Story

As a Lacework user that wants to integrate with Jira via Terraform,
I would like to have support for custom templates in my JIRA resources,
So I can populate values in new Jira issues created by Lacework.

Description

We need to add a new parameter to the Schema of the two Terraform
resources to create Jira integrations:

  • lacework_alert_channel_jira_server
  • lacework_alert_channel_jira_cloud

This parameter could be named custom_template.

[Feature Request] Add support for Google Container Registry integration

First of all, thank you for all of the work on this Terraform provider!

Ideally, I'd like to create all Lacework integrations via Terraform. This is possible today for Google Cloud Platform compliance and audit trail integrations, but not for Google Container Registry. Here is the Lacework guide for setting up the GCR integration manually.

I imagine this resource would look similar to the lacework_integration_gcp_cfg resource.

New Resources: Jira Alert Channel Integration

As a Lacework customer and a Terraform user,
I want to use the Lacework Terraform Provider to configure Jira Alert Channel integrations in my Lacework account,
So I can configure and maintain multiple alerts as code.

Integration Type: JIRA

Jira Cloud Integration

provider "lacework" { }

resource "lacework_alert_channel_jira_cloud" "default" {
  name               = "default"
  jira_url           = "mycompany.atlassian.net"
  project_key        = "EXAMPLE"
  username           = "me"
  api_token          = "my-api-token"
  issue_type         = "Bug"
  group_issues_by    = "Events"
  min_alert_severity = 5
}

Jira Server Integration

provider "lacework" { }

resource "lacework_alert_channel_jira_server" "default" {
  name               = "default"
  jira_url           = "mycompany.atlassian.net"
  project_key        = "EXAMPLE"
  username           = "me"
  passwork           = "my-password"
  issue_type         = "Bug"
  group_issues_by    = "Resources"
  min_alert_severity = 1
}

JIRA: ALLY-159

fix(gcp): Avoid updating resource on second terraform apply

When you run terraform apply after creating the resource, we are trying to update the
private_key when it is sensitive and will always be different. We should avoid updating the
resource:

 # module.gcp_project_audit_log.lacework_integration_gcp_at.default will be updated in-place
  ~ resource "lacework_integration_gcp_at" "default" {
        created_or_updated_by   = "[email protected]"
        created_or_updated_time = "2020-Jul-16 15:34:02 UTC"
        enabled                 = true
        id                      = "TECHALLY_1234"
        intg_guid               = "TECHALLY_1234"
        name                    = "TF audit_log"
        org_level               = false
        resource_id             = "demo"
        resource_level          = "PROJECT"
        subscription            = "projects/demo/subscriptions/lw-at-demo-lacework-subscription"
        type_name               = "GCP_AT_SES"

      ~ credentials {
            client_email   = "[email protected]"
            client_id      = "1234"
          + private_key    = (sensitive value)
            private_key_id = "abcd"
        }
    }

PagerDuty Alert Channel Integrations

As a Lacework customer and a Terraform user, I want to be able to use the Lacework Terraform Provider to configure PagerDuty Alert Channels in my Lacework account, so I can configure and maintain multiple alerts as code.

provider "lacework" { }

resource "lacework_alert_channel_pagerduty" "default" {
  name               = "default alerts"
  integration_key    = "1234abc8901abc567abc123abc78e012"
}

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.