github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/iam/getSamlProvider.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 SAML provider. This will allow you to easily retrieve the metadata
    16  // document of an existing SAML provider.
    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.LookupSamlProvider(ctx, &iam.LookupSamlProviderArgs{
    34  //				Arn: "arn:aws:iam::123456789:saml-provider/myprovider",
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  func LookupSamlProvider(ctx *pulumi.Context, args *LookupSamlProviderArgs, opts ...pulumi.InvokeOption) (*LookupSamlProviderResult, error) {
    46  	opts = internal.PkgInvokeDefaultOpts(opts)
    47  	var rv LookupSamlProviderResult
    48  	err := ctx.Invoke("aws:iam/getSamlProvider:getSamlProvider", args, &rv, opts...)
    49  	if err != nil {
    50  		return nil, err
    51  	}
    52  	return &rv, nil
    53  }
    54  
    55  // A collection of arguments for invoking getSamlProvider.
    56  type LookupSamlProviderArgs struct {
    57  	// ARN assigned by AWS for the provider.
    58  	Arn string `pulumi:"arn"`
    59  	// Tags attached to the SAML provider.
    60  	Tags map[string]string `pulumi:"tags"`
    61  }
    62  
    63  // A collection of values returned by getSamlProvider.
    64  type LookupSamlProviderResult struct {
    65  	Arn string `pulumi:"arn"`
    66  	// Creation date of the SAML provider in RFC1123 format, e.g. `Mon, 02 Jan 2006 15:04:05 MST`.
    67  	CreateDate string `pulumi:"createDate"`
    68  	// The provider-assigned unique ID for this managed resource.
    69  	Id string `pulumi:"id"`
    70  	// Name of the provider.
    71  	Name string `pulumi:"name"`
    72  	// The XML document generated by an identity provider that supports SAML 2.0.
    73  	SamlMetadataDocument string `pulumi:"samlMetadataDocument"`
    74  	// Tags attached to the SAML provider.
    75  	Tags map[string]string `pulumi:"tags"`
    76  	// Expiration date and time for the SAML provider in RFC1123 format, e.g. `Mon, 02 Jan 2007 15:04:05 MST`.
    77  	ValidUntil string `pulumi:"validUntil"`
    78  }
    79  
    80  func LookupSamlProviderOutput(ctx *pulumi.Context, args LookupSamlProviderOutputArgs, opts ...pulumi.InvokeOption) LookupSamlProviderResultOutput {
    81  	return pulumi.ToOutputWithContext(context.Background(), args).
    82  		ApplyT(func(v interface{}) (LookupSamlProviderResult, error) {
    83  			args := v.(LookupSamlProviderArgs)
    84  			r, err := LookupSamlProvider(ctx, &args, opts...)
    85  			var s LookupSamlProviderResult
    86  			if r != nil {
    87  				s = *r
    88  			}
    89  			return s, err
    90  		}).(LookupSamlProviderResultOutput)
    91  }
    92  
    93  // A collection of arguments for invoking getSamlProvider.
    94  type LookupSamlProviderOutputArgs struct {
    95  	// ARN assigned by AWS for the provider.
    96  	Arn pulumi.StringInput `pulumi:"arn"`
    97  	// Tags attached to the SAML provider.
    98  	Tags pulumi.StringMapInput `pulumi:"tags"`
    99  }
   100  
   101  func (LookupSamlProviderOutputArgs) ElementType() reflect.Type {
   102  	return reflect.TypeOf((*LookupSamlProviderArgs)(nil)).Elem()
   103  }
   104  
   105  // A collection of values returned by getSamlProvider.
   106  type LookupSamlProviderResultOutput struct{ *pulumi.OutputState }
   107  
   108  func (LookupSamlProviderResultOutput) ElementType() reflect.Type {
   109  	return reflect.TypeOf((*LookupSamlProviderResult)(nil)).Elem()
   110  }
   111  
   112  func (o LookupSamlProviderResultOutput) ToLookupSamlProviderResultOutput() LookupSamlProviderResultOutput {
   113  	return o
   114  }
   115  
   116  func (o LookupSamlProviderResultOutput) ToLookupSamlProviderResultOutputWithContext(ctx context.Context) LookupSamlProviderResultOutput {
   117  	return o
   118  }
   119  
   120  func (o LookupSamlProviderResultOutput) Arn() pulumi.StringOutput {
   121  	return o.ApplyT(func(v LookupSamlProviderResult) string { return v.Arn }).(pulumi.StringOutput)
   122  }
   123  
   124  // Creation date of the SAML provider in RFC1123 format, e.g. `Mon, 02 Jan 2006 15:04:05 MST`.
   125  func (o LookupSamlProviderResultOutput) CreateDate() pulumi.StringOutput {
   126  	return o.ApplyT(func(v LookupSamlProviderResult) string { return v.CreateDate }).(pulumi.StringOutput)
   127  }
   128  
   129  // The provider-assigned unique ID for this managed resource.
   130  func (o LookupSamlProviderResultOutput) Id() pulumi.StringOutput {
   131  	return o.ApplyT(func(v LookupSamlProviderResult) string { return v.Id }).(pulumi.StringOutput)
   132  }
   133  
   134  // Name of the provider.
   135  func (o LookupSamlProviderResultOutput) Name() pulumi.StringOutput {
   136  	return o.ApplyT(func(v LookupSamlProviderResult) string { return v.Name }).(pulumi.StringOutput)
   137  }
   138  
   139  // The XML document generated by an identity provider that supports SAML 2.0.
   140  func (o LookupSamlProviderResultOutput) SamlMetadataDocument() pulumi.StringOutput {
   141  	return o.ApplyT(func(v LookupSamlProviderResult) string { return v.SamlMetadataDocument }).(pulumi.StringOutput)
   142  }
   143  
   144  // Tags attached to the SAML provider.
   145  func (o LookupSamlProviderResultOutput) Tags() pulumi.StringMapOutput {
   146  	return o.ApplyT(func(v LookupSamlProviderResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   147  }
   148  
   149  // Expiration date and time for the SAML provider in RFC1123 format, e.g. `Mon, 02 Jan 2007 15:04:05 MST`.
   150  func (o LookupSamlProviderResultOutput) ValidUntil() pulumi.StringOutput {
   151  	return o.ApplyT(func(v LookupSamlProviderResult) string { return v.ValidUntil }).(pulumi.StringOutput)
   152  }
   153  
   154  func init() {
   155  	pulumi.RegisterOutputType(LookupSamlProviderResultOutput{})
   156  }