小编piy*_*eva的帖子

如何使用一个子模块的输出作为 Terraform 中另一个子模块的输入

我有以下目录结构

\n
\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 output.tf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 variables.tf\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 modules\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ServicePrincipal\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 variables.tf\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 outputs.tf\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 aks\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 output.tf\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 variables.tf\n...\n\n
Run Code Online (Sandbox Code Playgroud)\n

问题: \n我想使用从服务主体模块生成的 client_id 和 client_secret 作为创建我的 aks 集群的输入。我可以通过 module.modulename.outputvarname 从我的根 main.tf 引用以下输出变量,但是,我无法在另一个子模块(aks)中将其作为 var.client_id 或 module.serviceprincipal.client_id 访问

\n

根模块的 main.tf ,我可以在其中使用 client_id 和 client_secret

\n
module "ServicePrincipal" {\n  source                 = "./modules/ServicePrincipal"\n  service_principal_name = var.service_principal_name\n  redirect_uris          = var.redirect_uris\n\n}\n\nmodule "aks" {\n  source                 = "./modules/aks/"\n  service_principal_name = var.service_principal_name\n  serviceprinciple_id    = module.ServicePrincipal.service_principal_object_id\n  serviceprinciple_key   = module.ServicePrincipal.client_secret\n …
Run Code Online (Sandbox Code Playgroud)

azure terraform terraform-provider-azure azure-aks azure-service-principal

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

经批准后使用 jenkinsfile 建立促销

仅当更改管理使用 servicenow 更改票证或手动批准批准时,我才需要使用 jenkins 文件将我的构建升级为生产。

我想要类似的东西: - 只有在经理批准后才能手动触发产品构建(他/她应该收到带有批准/拒绝链接的批准邮件)或者 - 如果与更改相关的 ServiceNow 更改票被批准所有批准者,如果 (changeticket== "APPROVED") 那么您可以在生产中触发构建部署。

我的 jenkinsfile 看起来像这样(这是一个示例代码)

  pipeline {
  agent any
  environment {
  dotnet = 'path\to\dotnet.exe'
              }

  stages {
  stage('Checkout') {
  steps {
  git credentialsId: 'userId', url: 
  'https://github.com/NeelBhatt/SampleCliApp', branch: 'master'
     }
         }
   stage('Restore PACKAGES') {
   steps {
    bat "dotnet restore --configfile NuGet.Config"
         }
                              }
   stage('Clean') {
   steps {
   bat 'dotnet clean'
         }
                  }
   stage('Build') {
   steps {
   bat 'dotnet build --configuration Release'
         }
                 }
   stage('Pack') {
   steps {
   bat …
Run Code Online (Sandbox Code Playgroud)

.net jenkins jenkins-pipeline

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