【问题标题】:Pulumi Azure: Get Service Principal ObjectIdPulumi Azure:获取服务主体 ObjectId
【发布时间】:2020-07-06 04:03:10
【问题描述】:

我在 azure devops 管道中运行 pulumi。我需要找到管道服务主体 ObjectId

var clientConfig = Output.Create(Pulumi.Azure.Core.Invokes.GetClientConfig());
var clientId = clientConfig.Apply(c => c.ObjectId);

这给了我应用程序 ObjectId 作为输出,现在从这里我如何找到我的服务主体 ObjectId。

我不能这样做,因为 clientId 是 Output<string> 而 ObjectId 期待 string

var adApp = Output.Create(Pulumi.AzureAD.Invokes.GetApplication(new GetApplicationArgs { ObjectId = clientId}));
var adSp = Output.Create(Pulumi.AzureAD.Invokes.GetServicePrincipal(new GetServicePrincipalArgs { ApplicationId = adApp.App(a => a.ApplicationId)});

【问题讨论】:

    标签: azure azure-active-directory pulumi


    【解决方案1】:

    你应该在这里使用Apply 方法:

    var adApp = clientId.Apply(id => 
        Pulumi.AzureAD.Invokes.GetApplication(
            new GetApplicationArgs { ObjectId = id }));
    
    var adSp = adApp.ApplicationId.Apply(appid =>
        Pulumi.AzureAD.Invokes.GetServicePrincipal(
            new GetServicePrincipalArgs { ApplicationId = appid }));
    

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 2020-12-27
      • 1970-01-01
      • 2020-01-05
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      相关资源
      最近更新 更多