所以,我有一个terraform文件夹结构,如下所示:
2019-05-28 17:17:38,161 ERROR [stderr] (default task-7) java.lang.IllegalArgumentException: org.infinispan.commons.ma rshall.NotSerializableException: ph.com.crm.common.admin.ListLovListVO
2019-05-28 17:17:38,167 ERROR [stderr] (default task-7) Caused by: org.infinispan.commons.marshall.NotSerializableExc eption: ph.com.crm.common.admin.ListLovListVO
2019-05-28 17:17:38,167 ERROR [stderr] (default task-7) java.lang.Exception: org.infinispan.commons.marshall.NotSeria lizableException: ph.com.crm.common.admin.ListLovListVO
我的问题是我不知道如何从GKE模块访问例如我设置为输出的VPC模块自链接。
我看到的每个示例在“登台”级别都有一个main.tf,其中每个模块都在同一文件中被调用,这样它们就可以访问模块输出,但是我没有一个(我应该使用文件夹结构方法?)
解决方案将从远程状态中获取值吗?我试图访问它,但是它总是说找不到资源:
environments
staging
gke
main.tf
terraform.tfvars
variables.tf
vpc
main.tf
terraform.tfvars
variables.tf
secrets.tfvars (non-versioned)
globals.tfvars
terraform.tfvars (terragrunt helps require secrets and globals)
modules
vpc
main.tf
outputs.tf
gke
main.tf
outputs.tf
我尝试访问VPC模块(该模块称为vpc)中的输出,
// Define VPC
network = "${data.terraform_remote_state.vpc.main_vpc_self_link}"
答案 0 :(得分:0)
您需要将输出值作为变量传递给要访问的模块内部:
vpc_id
在您的gke模块上,您将需要一个use \Illuminate\Container\Container as Container;
use \Illuminate\Support\Facades\Facade as Facade;
/**
* Setup a new app instance container
*
* @var Illuminate\Container\Container
*/
$app = new Container();
$app->singleton('app', 'Illuminate\Container\Container');
/**
* Set $app as FacadeApplication handler
*/
Facade::setFacadeApplication($app);
变量来接收它。