github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/iam/getOpenIdConnectProvider.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package iam
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // This data source can be used to fetch information about a specific
    15  // IAM OpenID Connect provider. By using this data source, you can retrieve the
    16  // the resource information by either its `arn` or `url`.
    17  //
    18  // ## Example Usage
    19  //
    20  // <!--Start PulumiCodeChooser -->
    21  // ```go
    22  // package main
    23  //
    24  // import (
    25  //
    26  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    27  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    28  //
    29  // )
    30  //
    31  //	func main() {
    32  //		pulumi.Run(func(ctx *pulumi.Context) error {
    33  //			_, err := iam.LookupOpenIdConnectProvider(ctx, &iam.LookupOpenIdConnectProviderArgs{
    34  //				Arn: pulumi.StringRef("arn:aws:iam::123456789012:oidc-provider/accounts.google.com"),
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  //
    46  // <!--Start PulumiCodeChooser -->
    47  // ```go
    48  // package main
    49  //
    50  // import (
    51  //
    52  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    53  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    54  //
    55  // )
    56  //
    57  //	func main() {
    58  //		pulumi.Run(func(ctx *pulumi.Context) error {
    59  //			_, err := iam.LookupOpenIdConnectProvider(ctx, &iam.LookupOpenIdConnectProviderArgs{
    60  //				Url: pulumi.StringRef("https://accounts.google.com"),
    61  //			}, nil)
    62  //			if err != nil {
    63  //				return err
    64  //			}
    65  //			return nil
    66  //		})
    67  //	}
    68  //
    69  // ```
    70  // <!--End PulumiCodeChooser -->
    71  func LookupOpenIdConnectProvider(ctx *pulumi.Context, args *LookupOpenIdConnectProviderArgs, opts ...pulumi.InvokeOption) (*LookupOpenIdConnectProviderResult, error) {
    72  	opts = internal.PkgInvokeDefaultOpts(opts)
    73  	var rv LookupOpenIdConnectProviderResult
    74  	err := ctx.Invoke("aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider", args, &rv, opts...)
    75  	if err != nil {
    76  		return nil, err
    77  	}
    78  	return &rv, nil
    79  }
    80  
    81  // A collection of arguments for invoking getOpenIdConnectProvider.
    82  type LookupOpenIdConnectProviderArgs struct {
    83  	// ARN of the OpenID Connect provider.
    84  	Arn *string `pulumi:"arn"`
    85  	// Map of resource tags for the IAM OIDC provider.
    86  	Tags map[string]string `pulumi:"tags"`
    87  	// URL of the OpenID Connect provider.
    88  	Url *string `pulumi:"url"`
    89  }
    90  
    91  // A collection of values returned by getOpenIdConnectProvider.
    92  type LookupOpenIdConnectProviderResult struct {
    93  	Arn string `pulumi:"arn"`
    94  	// List of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.)
    95  	ClientIdLists []string `pulumi:"clientIdLists"`
    96  	// The provider-assigned unique ID for this managed resource.
    97  	Id string `pulumi:"id"`
    98  	// Map of resource tags for the IAM OIDC provider.
    99  	Tags map[string]string `pulumi:"tags"`
   100  	// List of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s).
   101  	ThumbprintLists []string `pulumi:"thumbprintLists"`
   102  	Url             string   `pulumi:"url"`
   103  }
   104  
   105  func LookupOpenIdConnectProviderOutput(ctx *pulumi.Context, args LookupOpenIdConnectProviderOutputArgs, opts ...pulumi.InvokeOption) LookupOpenIdConnectProviderResultOutput {
   106  	return pulumi.ToOutputWithContext(context.Background(), args).
   107  		ApplyT(func(v interface{}) (LookupOpenIdConnectProviderResult, error) {
   108  			args := v.(LookupOpenIdConnectProviderArgs)
   109  			r, err := LookupOpenIdConnectProvider(ctx, &args, opts...)
   110  			var s LookupOpenIdConnectProviderResult
   111  			if r != nil {
   112  				s = *r
   113  			}
   114  			return s, err
   115  		}).(LookupOpenIdConnectProviderResultOutput)
   116  }
   117  
   118  // A collection of arguments for invoking getOpenIdConnectProvider.
   119  type LookupOpenIdConnectProviderOutputArgs struct {
   120  	// ARN of the OpenID Connect provider.
   121  	Arn pulumi.StringPtrInput `pulumi:"arn"`
   122  	// Map of resource tags for the IAM OIDC provider.
   123  	Tags pulumi.StringMapInput `pulumi:"tags"`
   124  	// URL of the OpenID Connect provider.
   125  	Url pulumi.StringPtrInput `pulumi:"url"`
   126  }
   127  
   128  func (LookupOpenIdConnectProviderOutputArgs) ElementType() reflect.Type {
   129  	return reflect.TypeOf((*LookupOpenIdConnectProviderArgs)(nil)).Elem()
   130  }
   131  
   132  // A collection of values returned by getOpenIdConnectProvider.
   133  type LookupOpenIdConnectProviderResultOutput struct{ *pulumi.OutputState }
   134  
   135  func (LookupOpenIdConnectProviderResultOutput) ElementType() reflect.Type {
   136  	return reflect.TypeOf((*LookupOpenIdConnectProviderResult)(nil)).Elem()
   137  }
   138  
   139  func (o LookupOpenIdConnectProviderResultOutput) ToLookupOpenIdConnectProviderResultOutput() LookupOpenIdConnectProviderResultOutput {
   140  	return o
   141  }
   142  
   143  func (o LookupOpenIdConnectProviderResultOutput) ToLookupOpenIdConnectProviderResultOutputWithContext(ctx context.Context) LookupOpenIdConnectProviderResultOutput {
   144  	return o
   145  }
   146  
   147  func (o LookupOpenIdConnectProviderResultOutput) Arn() pulumi.StringOutput {
   148  	return o.ApplyT(func(v LookupOpenIdConnectProviderResult) string { return v.Arn }).(pulumi.StringOutput)
   149  }
   150  
   151  // List of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the clientId parameter on OAuth requests.)
   152  func (o LookupOpenIdConnectProviderResultOutput) ClientIdLists() pulumi.StringArrayOutput {
   153  	return o.ApplyT(func(v LookupOpenIdConnectProviderResult) []string { return v.ClientIdLists }).(pulumi.StringArrayOutput)
   154  }
   155  
   156  // The provider-assigned unique ID for this managed resource.
   157  func (o LookupOpenIdConnectProviderResultOutput) Id() pulumi.StringOutput {
   158  	return o.ApplyT(func(v LookupOpenIdConnectProviderResult) string { return v.Id }).(pulumi.StringOutput)
   159  }
   160  
   161  // Map of resource tags for the IAM OIDC provider.
   162  func (o LookupOpenIdConnectProviderResultOutput) Tags() pulumi.StringMapOutput {
   163  	return o.ApplyT(func(v LookupOpenIdConnectProviderResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   164  }
   165  
   166  // List of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s).
   167  func (o LookupOpenIdConnectProviderResultOutput) ThumbprintLists() pulumi.StringArrayOutput {
   168  	return o.ApplyT(func(v LookupOpenIdConnectProviderResult) []string { return v.ThumbprintLists }).(pulumi.StringArrayOutput)
   169  }
   170  
   171  func (o LookupOpenIdConnectProviderResultOutput) Url() pulumi.StringOutput {
   172  	return o.ApplyT(func(v LookupOpenIdConnectProviderResult) string { return v.Url }).(pulumi.StringOutput)
   173  }
   174  
   175  func init() {
   176  	pulumi.RegisterOutputType(LookupOpenIdConnectProviderResultOutput{})
   177  }