sparse-intern-71089
06/30/2021, 12:59 AMlittle-cartoon-10569
06/30/2021, 3:26 AMbright-sandwich-93783
06/30/2021, 3:39 AMbright-sandwich-93783
06/30/2021, 3:39 AMbillowy-army-68599
billowy-army-68599
bright-sandwich-93783
06/30/2021, 9:02 PMGetCertificate
)bright-sandwich-93783
06/30/2021, 9:03 PMbright-sandwich-93783
06/30/2021, 9:04 PMbright-sandwich-93783
06/30/2021, 9:04 PMbillowy-army-68599
bright-sandwich-93783
06/30/2021, 9:08 PMbright-sandwich-93783
06/30/2021, 9:09 PMbright-sandwich-93783
06/30/2021, 9:09 PMbillowy-army-68599
bright-sandwich-93783
06/30/2021, 9:17 PMbright-sandwich-93783
06/30/2021, 9:19 PMClusterIdentity
Oidcs
blockbright-sandwich-93783
06/30/2021, 9:20 PMbillowy-army-68599
bright-sandwich-93783
06/30/2021, 10:35 PMbillowy-army-68599
bright-sandwich-93783
06/30/2021, 11:00 PMpackage main
import (
"<http://github.com/pulumi/pulumi-aws/sdk/v3/go/aws/eks|github.com/pulumi/pulumi-aws/sdk/v3/go/aws/eks>"
"<http://github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam|github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam>"
"<http://github.com/pulumi/pulumi-tls/sdk/v4/go/tls|github.com/pulumi/pulumi-tls/sdk/v4/go/tls>"
"<http://github.com/pulumi/pulumi/sdk/v3/go/pulumi|github.com/pulumi/pulumi/sdk/v3/go/pulumi>"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleCluster, err := eks.NewCluster(ctx, "exampleCluster", nil)
if err != nil {
return err
}
exampleCert, err := tls.GetCertificate(ctx, tls.GetCertificateArgs {
Url: exampleCluster.Identities[0].Url
})
_, err = iam.NewOpenIdConnectProvider(ctx, "exampleOpenIdConnectProvider", &iam.OpenIdConnectProviderArgs{
ClientIdLists: pulumi.StringArray{
pulumi.String("<http://sts.amazonaws.com|sts.amazonaws.com>"),
},
ThumbprintLists: pulumi.StringArray{
exampleCertificate.ApplyT(func(exampleCertificate tls.GetCertificateResult) (string, error) {
return exampleCertificate.Certificates[0].Sha1Fingerprint, nil
}).(pulumi.StringOutput),
},
Url: pulumi.String(exampleCluster.Identities.ApplyT(func(identities []eks.ClusterIdentity) (string, error) {
return identities[0].Oidcs[0].Issuer, nil
}).(pulumi.StringOutput)),
})
if err != nil {
return err
}
return nil
})
}
bright-sandwich-93783
06/30/2021, 11:02 PMexampleCert
is pseudocode, because I couldn't figure out a way to get the actual string
value of the issuer URL, unless I wanted to make the GetCertificate
call inside of an ApplyT callback...
Thoughts?billowy-army-68599
ApplyT
, we try not to recommend it because it won't show up in previews, but it should worklittle-cartoon-10569
06/30/2021, 11:06 PMbright-sandwich-93783
06/30/2021, 11:06 PMstring
value for the URL, not a StringOutput/Inputbright-sandwich-93783
06/30/2021, 11:07 PMeksCluster.Identities.Index(<http://pulumi.Int|pulumi.Int>(0)).Oidcs().Index(<http://pulumi.Int|pulumi.Int>(0)).Issuer().Elem(),
little-cartoon-10569
06/30/2021, 11:07 PMbright-sandwich-93783
06/30/2021, 11:07 PMApplyT
callback, at which point you could make the call to tls.GetCertificate
bright-sandwich-93783
06/30/2021, 11:08 PMbright-sandwich-93783
06/30/2021, 11:08 PMGetCertificate
is a vanilla go structbright-sandwich-93783
06/30/2021, 11:08 PMlittle-cartoon-10569
06/30/2021, 11:09 PM