小编lip*_*sum的帖子

如何通过 HashiCorp Terraform 插件在 VSCode 上使用 tflint?

我尝试在 VSCode 上使用 tflint,但无法正确配置它。
在我的终端上, 和terraformtflint运行良好。

terraform --version
Terraform v0.12.28

tflint --version
TFLint version 0.17.0

which tflint
/usr/local/bin/tflint
Run Code Online (Sandbox Code Playgroud)

但在 VSCode 上,linting 不起作用。
我已经安装了 HashiCorp Terraform 插件 v2.0.2,并启用了 terraform 语言服务器。现在我检查了我的setting.json. 网上很多文章说可以在terraform.lintPathfield上配置,但是没有这样的字段。

{
  "editor.tabSize": 2,
  "editor.formatOnSave": true,
  "terraform.languageServer": {},
}
Run Code Online (Sandbox Code Playgroud)

我尝试添加terraform.lintPathinside 或 Outside terraform.languageServer,但失败了。有什么方法可以检查 VSCode 可以引用的路径吗?

terraform visual-studio-code

8
推荐指数
1
解决办法
1万
查看次数

如何在Heroku上使用Google API凭据json?

我正在使用Google Calendar API开发应用程序,并计划在Heroku上构建它。
我有关于身份验证的问题。通常,我为此使用凭据json文件,但是出于安全原因,这一次我不想将其上传到Heroku。
如何在Heroku上进行身份验证?

现在,我将json放入一个env变量,并使用oauth2clientfrom_json方法。

def get_credentials():
    credentials_json = os.environ['GOOGLE_APPLICATION_CREDENTIALS']
    credentials = GoogleCredentials.from_json(credentials_json)
    if not credentials or credentials.invalid:
        flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
        flow.user_agent = APPLICATION_NAME
        if flags:
            credentials = tools.run_flow(flow, store, flags)
        else: # Needed only for compatibility with Python 2.6
            credentials = tools.run(flow, store)
        print('Storing credentials to ' + credential_path)
    return credentials 
Run Code Online (Sandbox Code Playgroud)

但是这段代码并不完美。如果凭据无效,我希望代码将新凭据写入env变量,而不是新文件。
有什么更好的办法吗?

python google-api heroku

6
推荐指数
5
解决办法
1295
查看次数

我们为什么要使用django-webpack-loader?

我同时使用webpack和django.现在我/static/每次都将捆绑的资产移动到django目录,所以我想制作更有效的流程.
我阅读了一些文章,许多人建议使用django-webpack-loader,但我不完全理解它的作用.

我已经阅读了下面的官方文件.
https://owais.lone.pw/blog/webpack-plus-reactjs-and-django/
https://406.ch/writing/our-approach-to-configuring-django-webpack-and-manifeststaticfilesstorage/

我认为这是为了收集位于django项目之外的捆绑资产,但它似乎与创建从django项目到dist/webpack目录的符号链接几乎相同.
还有其他有用的功能django-webpack-loader吗?

django django-webpack-loader

5
推荐指数
1
解决办法
1192
查看次数

当未指定值时,有没有办法忽略 terraform 模块中的可选字段?

我正在使用 terraform 模块管理 AWS lambda 函数。现在我想添加dead_letter_config其中一个 lambda 函数,但保持其他函数不变。

我正在尝试将dead_letter_config字段(在资源中是可选的aws_lambda_function)添加到模块中,但我找不到如何使dead_letter_config字段仅在特定的 lambda 函数中可用,并在其他调用者中忽略该字段。
我的 terraform 是 v0.12.28,所以我尝试null在变量上使用默认值。

resource "aws_lambda_function" "lambda" {
...
  dead_letter_config {
    target_arn = var.dead_letter_config_target
  }
Run Code Online (Sandbox Code Playgroud)
variable "dead_letter_config_target" {
  default     = null
  type        = string
}
Run Code Online (Sandbox Code Playgroud)

但fieldtarget_arn下需要field dead_letter_queue,所以terraform plan失败。

Error: "dead_letter_config.0.target_arn": required field is not set
Run Code Online (Sandbox Code Playgroud)

有没有什么好方法可以有条件地忽略整个字段?

terraform

2
推荐指数
1
解决办法
1831
查看次数