Pulumi Azure:获取服务主体 ObjectId
Pulumi Azure: Get Service Principal ObjectId
我是 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)});
你应该在这里使用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 }));
我是 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)});
你应该在这里使用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 }));