小编yda*_*coR的帖子

Terraform 0.12 aws_lambda_permission 资源替换了每个应用

我在 Terraform v0.12 模块中动态创建以下资源:

变量.tf:

variable "stages" {
  type = list(string)
  default = ["v1", "v2"]
}

variable "rest_api_id" {
  description = "The ID of the associated REST API"
}

variable "api_root_resource_id" {
  description = "The API resource ID"
}

variable "region" {
  description = "The AWS region"
}

variable "method" {
  description = "The HTTP method"
  default     = "GET"

variable "lambda" {
  description = "The lambda name to invoke"
}

variable "account_id" {
  description = "The AWS account ID"
} …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform terraform-provider-aws

4
推荐指数
1
解决办法
1463
查看次数

Talend执行无法生成代码

我正在尝试从talend构建第一个示例作业(http://www.talendforge.org/tutorials/tutorial.php?language=english&idTuto=1#Action)

当我尝试运行它时,我收到以下错误:

Execution failed : Failed to generate code. [----------
1. ERROR in C:\Talend\workspace\.JETEmitters\src\org\talend\designer\codegen\translators\technical\TSortOutBeginJava.java (at line 1)   package org.talend.designer.codegen.translators.technical;  ^ The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files
----------
2. ERROR in C:\Talend\workspace\.JETEmitters\src\org\talend\designer\codegen\translators\technical\TSortOutBeginJava.java (at line 421)     stringBuffer.append(TEXT_1);    ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files
---------- 2 problems (2 errors)]
Run Code Online (Sandbox Code Playgroud)

我试过更改窗口>首选项> talend> java解释器指向jdk安装以及jre7和jre8安装,都无济于事.

另外,我尝试执行talend的大数据演示提供的示例作业,并收到相同的错误消息

java talend java-8

3
推荐指数
1
解决办法
4665
查看次数

如何达到所需标准时结束tLoop

这是我的过程:

作业布局和tJava_1配置

您可以在tJava_1中看到Java代码.它解析文件中的数据,如果它到达最后一个搜索页面,它会将值设置为true.这是tLoop_1的停止标准,如下所示:

tLoop配置

我处理Talend变量错了吗?一旦达到Java代码中的条件,如何阻止循环运行?

java talend

3
推荐指数
1
解决办法
8199
查看次数

H2数据库 - 嵌入式还是服务器模式?

我正在使用Talend Open Studio for MDM,它只支持H2数据库用于后端存储.

我应该在嵌入式或服务器模式下使用H2 DB吗?

它有什么区别?

database h2

3
推荐指数
1
解决办法
4948
查看次数

尝试使用Terraform创建AWS VPC安全组时出现周期错误

我想创建2个VPC安全组.

一个用于VPC的Bastion主机,一个用于私有子网.

# BASTION # 
resource "aws_security_group" "VPC-BastionSG" {
  name        = "VPC-BastionSG"
  description = "The sec group for the Bastion instance"
  vpc_id      = "aws_vpc.VPC.id"

  ingress {
      from_port = 22
      to_port   = 22
      protocol  = "tcp"
      cidr_blocks = ["my.super.ip/32"]
  } 

  egress {
      # Access to the Private subnet from the bastion host[ssh]
      from_port = 22
      to_port   = 22
      protocol  = "tcp"
      security_groups = ["${aws_security_group.VPC-PrivateSG.id}"]
  }
  egress {
      # Access to the Private subnet from the bastion host[jenkins]
      from_port = 8686
      to_port …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-vpc terraform

3
推荐指数
1
解决办法
3190
查看次数

如何将托管策略添加到 terraform 中的组?

到目前为止我已经得到了这个:

data "aws_iam_policy" "config_role" { 
  arn = "arn:aws:iam::aws:policy/service_role/AWSConfigRole"
}
Run Code Online (Sandbox Code Playgroud)

但我不确定如何将其附加到组中。

amazon-web-services amazon-iam terraform

3
推荐指数
1
解决办法
2901
查看次数

新 AMI 发布时由 Terraform 重新创建的 EC2 实例

我编写了一些 Terraform 代码来创建一些服务器。对于 AMI,我使用 Terraform 数据模块获取最新的 Ubuntu 16.04 映像 ID 并将其分配给 EC2 实例。

最近我想向这个环境添加另一个 EC2 实例,但是当我运行时,terraform plan我可以看到 Terraform 正在尝试删除现有的 EC2 实例并重新创建它们。原因是新的 Ubuntu 映像已发布,它正在尝试删除旧实例并使用新的 AMI ID 创建新实例。

由于我不想意外删除我们的生产服务器,我是否有机会解决这个问题?

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }
}

module "jenkins" {
  source = "terraform-aws-modules/ec2-instance/aws"

  name           = "Jenkins"
  instance_count = 1

  ami                         = "${data.aws_ami.ubuntu.id}"
  instance_type               = "t2.small"
  associate_public_ip_address = true
  disable_api_termination     = true
  key_name …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 terraform devops amazon-ami

3
推荐指数
2
解决办法
2173
查看次数

Terraform-每次申请时将文件上传到S3

我需要将文件夹上传到S3 Bucket。但是当我第一次申请时。它只是上传。但是我这里有两个问题:

  1. 上传的版本输出为null。我希望有一些version_id,例如1、2、3
  2. terraform apply再次运行时,显示Apply complete! Resources: 0 added, 0 changed, 0 destroyed。我希望在运行terraform apply并创建新版本时始终上传所有内容。

我究竟做错了什么?这是我的Terraform配置:

resource "aws_s3_bucket" "my_bucket" {
  bucket = "my_bucket_name"

  versioning {
    enabled = true
  }
}

resource "aws_s3_bucket_object" "file_upload" {
  bucket = "my_bucket"
  key    = "my_bucket_key"
  source = "my_files.zip"
}

output "my_bucket_file_version" {
  value = "${aws_s3_bucket_object.file_upload.version_id}"
}
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services terraform terraform-provider-aws

3
推荐指数
2
解决办法
2253
查看次数

错误:“network_interface”:与 vpc_security_group_ids 冲突

我正在尝试使用 aws_network_interface 创建一个 aws 实例,如下所示:

resource "aws_network_interface" "lustre-mds01" {
  subnet_id   = "${var.subnet_id}"
  private_ips = ["10.1.0.10"] 
}

resource "aws_instance" "lustre-mds01" {
  ami                    = "${var.ec2_ami}"
  instance_type          = "t2.nano"
  key_name               = "${var.key_name}"
  vpc_security_group_ids = [ "${var.vpc_security_group_id}" ]

  root_block_device {
    volume_type = "gp2"
    volume_size = 128
  }

  network_interface {
    network_interface_id = "${aws_network_interface.lustre-mds01.id}"
    device_index         = 0
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,这会导致:

错误:“network_interface”:与 vpc_security_group_ids 冲突

这似乎存在问题,但由于不活动,该票证已关闭。我是一个 terraform noob,所以我不确定这看起来像一个错误还是只是用户错误。

我的环境:

$ terraform -v
Terraform v0.12.2
+ provider.aws v2.15.0
+ provider.external v1.1.2
+ provider.local v1.2.2
+ provider.null v2.1.2
Run Code Online (Sandbox Code Playgroud)

amazon-web-services terraform terraform-provider-aws

3
推荐指数
1
解决办法
3028
查看次数

通过 Terraform 创建 RDS 实例后向数据库添加 Postgresql 角色

通过 Terraform 在 RDS 中创建角色后,我试图将其添加到 Postgresql 数据库。

我有两个单独的模块,一个创建 RDS 实例,一个向其中添加新角色。数据库地址是persistence模块的输出和模块的输入persistenceApplicationRole。问题好像是在创建RDS实例之前运行了Postgresql provider,所以地址为空。
我得到的错误是:

Error: Error initializing PostgreSQL client: error detecting capabilities: error PostgreSQL version: dial tcp :5432: connect: connection refused

  on ../modules/persistenceApplicationRole/main.tf line 9, in provider "postgresql":
   9: provider postgresql {
Run Code Online (Sandbox Code Playgroud)

通过-target=module.persistence标志单独运行模块是有效的,因为persistenceApplicationRole一旦创建数据库地址就会获取它。我在此处的文档中为 MySQL Provider 找到了一个包含这种确切场景的示例。

# module.persistenceApplicationRole
provider postgresql {
  host      = var.databaseAddress
  username  = data.external.root_credentials.result["username"]
  password  = data.external.root_credentials.result["password"]
  superuser = false
}

resource "postgresql_role" "application_role" {
  name     = data.external.application_credentials.result["username"]
  password …
Run Code Online (Sandbox Code Playgroud)

postgresql amazon-web-services amazon-rds terraform terraform-provider-aws

3
推荐指数
1
解决办法
2234
查看次数