Coder Social home page Coder Social logo

terrafomo's Introduction

Terrafomo

Build Status

terrafomo's People

Contributors

brendanhay avatar nhibberd avatar puffnfresh avatar thumphries avatar

Stargazers

Tim Kersey avatar Hécate avatar Tristan de Cacqueray avatar Daniel Kahlenberg avatar David Johnson avatar  avatar Roman Malygin avatar  avatar Karthik Krishnamurthy avatar  avatar Toan Tran avatar Andrejs Agejevs avatar Philip Kamenarsky avatar Alex Vzorov avatar timothy avatar Hans Höglund avatar Michael Borden avatar Robin Bate Boerop avatar Benjamin Staffin avatar Michael Xavier avatar Kim Altintop avatar Mayeu avatar Fabrizio Ferrai avatar Arturo Vergara avatar Marco Zocca avatar Alexander Biehl avatar Tim McGilchrist avatar Dom De Re avatar Dominic Bou-Samra avatar Utku Demir avatar  avatar Frederico Honório avatar James Thompson avatar Jon Schoning avatar Marco Z avatar Jochen Schneider avatar Aλexandre Peyroux avatar Dmitry Bushev avatar Colin Barrett avatar Piotr Limanowski avatar Mike McGirr avatar Jean-Baptiste G. avatar Rodrigo Navarro avatar Luc Tielen avatar Jörn Gersdorf avatar Steven Shaw avatar Rahul Goma Phulore avatar Brian Schroeder avatar Yghor Kerscher avatar Karl Sutt avatar karim amer  avatar Joel Hermanns avatar Aron Trauring avatar Seva Stefkin avatar Chris A. avatar Drew Hess avatar David Reaver avatar Patrick Cieplak avatar  avatar jkachmar avatar Cameron Ford avatar Masashi Fujita avatar  avatar Vaibhav Sagar avatar

Watchers

Tim McGilchrist avatar  avatar  avatar Robin Bate Boerop avatar James Cloos avatar Utku Demir avatar Jörn Gersdorf avatar Dimid Duchovny avatar  avatar  avatar  avatar

terrafomo's Issues

String escaping

Given something like this:

jobDefinition :: TF.State () "job-definition" s ()
jobDefinition = do
  TF.resource_
      $ AWS.newBatchJobDefinitionR
          (AWS.BatchJobDefinitionR
              { AWS.name = "todo"
              , AWS.type_ = "container"
              })
          & #container_properties .~ Just "\""

I get the output without any string escaping:

resource "aws_batch_job_definition" "r" {
  provider = "aws.1"
  container_properties = """
  name = "todo"
  type = "container"
}

Stylish-haskell

If you have a global config you are using, could you check it in here 😄

Dereference Expr of ARN as Expr of Text

A lot of AWS' responses give back the ARN type but a lot of AWS requests require Text. I have a cast at the moment, which works because it's just a newtype. Is there something existing I can do instead?

AWS.BatchComputeEnvironmentComputeResources
{ instance_role = dodgyCast (view #arn iamInstanceRole)
}

aws provider overlapping settings types

In the model there are two definitions: https://github.com/brendanhay/terrafomo/blob/master/terrafomo-gen/model/aws.json of attribute within the schemas list.

`aws_dynamodb_table` ``` "name": "aws_dynamodb_table", "schemas": [ { "name": "attribute", "type": "TypeSet", "conflictsWith": [], "optional": false, "required": true, "computed": false, "forceNew": false, "sensitive": false, "minItems": 0, "maxItems": 0, "resource": { "name": "attribute", "schemas": [ { "name": "name", "type": "TypeString", "conflictsWith": [], "optional": false, "required": true, "computed": false, "forceNew": false, "sensitive": false, "minItems": 0, "maxItems": 0 }, { "name": "type", "type": "TypeString", "conflictsWith": [], "optional": false, "required": true, "computed": false, "forceNew": false, "sensitive": false, "minItems": 0, "maxItems": 0 } ] } }, ```
`aws_lb_ssl_negotiation_policy` ``` "schemas": [ { "name": "attribute", "type": "TypeSet", "conflictsWith": [], "optional": true, "required": false, "computed": false, "forceNew": true, "sensitive": false, "minItems": 0, "maxItems": 0, "resource": { "name": "attribute", "schemas": [ { "name": "name", "type": "TypeString", "conflictsWith": [], "optional": false, "required": true, "computed": false, "forceNew": false, "sensitive": false, "minItems": 0, "maxItems": 0 }, { "name": "value", "type": "TypeString", "conflictsWith": [], "optional": false, "required": true, "computed": false, "forceNew": false, "sensitive": false, "minItems": 0, "maxItems": 0 } ] } }, ```
.

In the intermediate representation these have been combined into a single AttributeSettings with the union of the two above

`AttributeSetting'` ``` "con": { "smart": "newAttributeSetting", "name": "AttributeSetting'" }, "arguments": [ { "default": "_name", "computed": false, "required": true, "help": [], "forceNew": false, "encoder": "TF.assign \"name\" <$> TF.attribute", "name": "_name", "method": "name", "threaded": true, "conflicts": [], "type": "TF.Attr s P.Text", "class": "HasName", "validate": false, "optional": false, "original": "name" }, { "default": "_type'", "computed": false, "required": true, "help": [], "forceNew": false, "encoder": "TF.assign \"type\" <$> TF.attribute", "name": "_type'", "method": "type'", "threaded": true, "conflicts": [], "type": "TF.Attr s P.Text", "class": "HasType'", "validate": false, "optional": false, "original": "type" }, { "default": "_value", "computed": false, "required": true, "help": [], "forceNew": false, "encoder": "TF.assign \"value\" <$> TF.attribute", "name": "_value", "method": "value", "threaded": true, "conflicts": [], "type": "TF.Attr s P.Text", "class": "HasValue", "validate": false, "optional": false, "original": "value" } ], ```
.

Ill start having a look at this now, just documenting before I do

State of module support

Is there a way to explicitly import or provide native Terraform modules? If not, what are your thoughts on that?

Reference as a list

I need to reference a data source which has a list. When I have the following code:

AWS.BatchComputeEnvironmentComputeResources
{ subnets = view #ids subnets
}

I get:

subnets = "${data.aws_subnet_ids.d.ids}"

But Terraform actually needs weird syntax like:

subnets = [
  "${data.aws_subnet_ids.d.ids}",
]

Don't believe Terraform's documentation on how to reference a variable as a list. It's wrong hashicorp/terraform#13869

Provisioners

Direct support for provisioners like local_exec would be quite useful. We're bolting this onto our stale fork at the moment.

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.