github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/iam/openIdConnectProvider.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 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an IAM OpenID Connect provider. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := iam.NewOpenIdConnectProvider(ctx, "default", &iam.OpenIdConnectProviderArgs{ 33 // Url: pulumi.String("https://accounts.google.com"), 34 // ClientIdLists: pulumi.StringArray{ 35 // pulumi.String("266362248691-342342xasdasdasda-apps.googleusercontent.com"), 36 // }, 37 // ThumbprintLists: pulumi.StringArray{ 38 // pulumi.String("cf23df2207d99a74fbe169e3eba035e633b65d94"), 39 // }, 40 // }) 41 // if err != nil { 42 // return err 43 // } 44 // return nil 45 // }) 46 // } 47 // 48 // ``` 49 // <!--End PulumiCodeChooser --> 50 // 51 // ## Import 52 // 53 // Using `pulumi import`, import IAM OpenID Connect Providers using the `arn`. For example: 54 // 55 // ```sh 56 // $ pulumi import aws:iam/openIdConnectProvider:OpenIdConnectProvider default arn:aws:iam::123456789012:oidc-provider/accounts.google.com 57 // ``` 58 type OpenIdConnectProvider struct { 59 pulumi.CustomResourceState 60 61 // The ARN assigned by AWS for this provider. 62 Arn pulumi.StringOutput `pulumi:"arn"` 63 // A 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.) 64 ClientIdLists pulumi.StringArrayOutput `pulumi:"clientIdLists"` 65 // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 66 Tags pulumi.StringMapOutput `pulumi:"tags"` 67 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 68 // 69 // Deprecated: Please use `tags` instead. 70 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 71 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). 72 ThumbprintLists pulumi.StringArrayOutput `pulumi:"thumbprintLists"` 73 // The URL of the identity provider. Corresponds to the _iss_ claim. 74 Url pulumi.StringOutput `pulumi:"url"` 75 } 76 77 // NewOpenIdConnectProvider registers a new resource with the given unique name, arguments, and options. 78 func NewOpenIdConnectProvider(ctx *pulumi.Context, 79 name string, args *OpenIdConnectProviderArgs, opts ...pulumi.ResourceOption) (*OpenIdConnectProvider, error) { 80 if args == nil { 81 return nil, errors.New("missing one or more required arguments") 82 } 83 84 if args.ClientIdLists == nil { 85 return nil, errors.New("invalid value for required argument 'ClientIdLists'") 86 } 87 if args.ThumbprintLists == nil { 88 return nil, errors.New("invalid value for required argument 'ThumbprintLists'") 89 } 90 if args.Url == nil { 91 return nil, errors.New("invalid value for required argument 'Url'") 92 } 93 opts = internal.PkgResourceDefaultOpts(opts) 94 var resource OpenIdConnectProvider 95 err := ctx.RegisterResource("aws:iam/openIdConnectProvider:OpenIdConnectProvider", name, args, &resource, opts...) 96 if err != nil { 97 return nil, err 98 } 99 return &resource, nil 100 } 101 102 // GetOpenIdConnectProvider gets an existing OpenIdConnectProvider resource's state with the given name, ID, and optional 103 // state properties that are used to uniquely qualify the lookup (nil if not required). 104 func GetOpenIdConnectProvider(ctx *pulumi.Context, 105 name string, id pulumi.IDInput, state *OpenIdConnectProviderState, opts ...pulumi.ResourceOption) (*OpenIdConnectProvider, error) { 106 var resource OpenIdConnectProvider 107 err := ctx.ReadResource("aws:iam/openIdConnectProvider:OpenIdConnectProvider", name, id, state, &resource, opts...) 108 if err != nil { 109 return nil, err 110 } 111 return &resource, nil 112 } 113 114 // Input properties used for looking up and filtering OpenIdConnectProvider resources. 115 type openIdConnectProviderState struct { 116 // The ARN assigned by AWS for this provider. 117 Arn *string `pulumi:"arn"` 118 // A 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.) 119 ClientIdLists []string `pulumi:"clientIdLists"` 120 // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 121 Tags map[string]string `pulumi:"tags"` 122 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 123 // 124 // Deprecated: Please use `tags` instead. 125 TagsAll map[string]string `pulumi:"tagsAll"` 126 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). 127 ThumbprintLists []string `pulumi:"thumbprintLists"` 128 // The URL of the identity provider. Corresponds to the _iss_ claim. 129 Url *string `pulumi:"url"` 130 } 131 132 type OpenIdConnectProviderState struct { 133 // The ARN assigned by AWS for this provider. 134 Arn pulumi.StringPtrInput 135 // A 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.) 136 ClientIdLists pulumi.StringArrayInput 137 // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 138 Tags pulumi.StringMapInput 139 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 140 // 141 // Deprecated: Please use `tags` instead. 142 TagsAll pulumi.StringMapInput 143 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). 144 ThumbprintLists pulumi.StringArrayInput 145 // The URL of the identity provider. Corresponds to the _iss_ claim. 146 Url pulumi.StringPtrInput 147 } 148 149 func (OpenIdConnectProviderState) ElementType() reflect.Type { 150 return reflect.TypeOf((*openIdConnectProviderState)(nil)).Elem() 151 } 152 153 type openIdConnectProviderArgs struct { 154 // A 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.) 155 ClientIdLists []string `pulumi:"clientIdLists"` 156 // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 157 Tags map[string]string `pulumi:"tags"` 158 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). 159 ThumbprintLists []string `pulumi:"thumbprintLists"` 160 // The URL of the identity provider. Corresponds to the _iss_ claim. 161 Url string `pulumi:"url"` 162 } 163 164 // The set of arguments for constructing a OpenIdConnectProvider resource. 165 type OpenIdConnectProviderArgs struct { 166 // A 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.) 167 ClientIdLists pulumi.StringArrayInput 168 // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 169 Tags pulumi.StringMapInput 170 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). 171 ThumbprintLists pulumi.StringArrayInput 172 // The URL of the identity provider. Corresponds to the _iss_ claim. 173 Url pulumi.StringInput 174 } 175 176 func (OpenIdConnectProviderArgs) ElementType() reflect.Type { 177 return reflect.TypeOf((*openIdConnectProviderArgs)(nil)).Elem() 178 } 179 180 type OpenIdConnectProviderInput interface { 181 pulumi.Input 182 183 ToOpenIdConnectProviderOutput() OpenIdConnectProviderOutput 184 ToOpenIdConnectProviderOutputWithContext(ctx context.Context) OpenIdConnectProviderOutput 185 } 186 187 func (*OpenIdConnectProvider) ElementType() reflect.Type { 188 return reflect.TypeOf((**OpenIdConnectProvider)(nil)).Elem() 189 } 190 191 func (i *OpenIdConnectProvider) ToOpenIdConnectProviderOutput() OpenIdConnectProviderOutput { 192 return i.ToOpenIdConnectProviderOutputWithContext(context.Background()) 193 } 194 195 func (i *OpenIdConnectProvider) ToOpenIdConnectProviderOutputWithContext(ctx context.Context) OpenIdConnectProviderOutput { 196 return pulumi.ToOutputWithContext(ctx, i).(OpenIdConnectProviderOutput) 197 } 198 199 // OpenIdConnectProviderArrayInput is an input type that accepts OpenIdConnectProviderArray and OpenIdConnectProviderArrayOutput values. 200 // You can construct a concrete instance of `OpenIdConnectProviderArrayInput` via: 201 // 202 // OpenIdConnectProviderArray{ OpenIdConnectProviderArgs{...} } 203 type OpenIdConnectProviderArrayInput interface { 204 pulumi.Input 205 206 ToOpenIdConnectProviderArrayOutput() OpenIdConnectProviderArrayOutput 207 ToOpenIdConnectProviderArrayOutputWithContext(context.Context) OpenIdConnectProviderArrayOutput 208 } 209 210 type OpenIdConnectProviderArray []OpenIdConnectProviderInput 211 212 func (OpenIdConnectProviderArray) ElementType() reflect.Type { 213 return reflect.TypeOf((*[]*OpenIdConnectProvider)(nil)).Elem() 214 } 215 216 func (i OpenIdConnectProviderArray) ToOpenIdConnectProviderArrayOutput() OpenIdConnectProviderArrayOutput { 217 return i.ToOpenIdConnectProviderArrayOutputWithContext(context.Background()) 218 } 219 220 func (i OpenIdConnectProviderArray) ToOpenIdConnectProviderArrayOutputWithContext(ctx context.Context) OpenIdConnectProviderArrayOutput { 221 return pulumi.ToOutputWithContext(ctx, i).(OpenIdConnectProviderArrayOutput) 222 } 223 224 // OpenIdConnectProviderMapInput is an input type that accepts OpenIdConnectProviderMap and OpenIdConnectProviderMapOutput values. 225 // You can construct a concrete instance of `OpenIdConnectProviderMapInput` via: 226 // 227 // OpenIdConnectProviderMap{ "key": OpenIdConnectProviderArgs{...} } 228 type OpenIdConnectProviderMapInput interface { 229 pulumi.Input 230 231 ToOpenIdConnectProviderMapOutput() OpenIdConnectProviderMapOutput 232 ToOpenIdConnectProviderMapOutputWithContext(context.Context) OpenIdConnectProviderMapOutput 233 } 234 235 type OpenIdConnectProviderMap map[string]OpenIdConnectProviderInput 236 237 func (OpenIdConnectProviderMap) ElementType() reflect.Type { 238 return reflect.TypeOf((*map[string]*OpenIdConnectProvider)(nil)).Elem() 239 } 240 241 func (i OpenIdConnectProviderMap) ToOpenIdConnectProviderMapOutput() OpenIdConnectProviderMapOutput { 242 return i.ToOpenIdConnectProviderMapOutputWithContext(context.Background()) 243 } 244 245 func (i OpenIdConnectProviderMap) ToOpenIdConnectProviderMapOutputWithContext(ctx context.Context) OpenIdConnectProviderMapOutput { 246 return pulumi.ToOutputWithContext(ctx, i).(OpenIdConnectProviderMapOutput) 247 } 248 249 type OpenIdConnectProviderOutput struct{ *pulumi.OutputState } 250 251 func (OpenIdConnectProviderOutput) ElementType() reflect.Type { 252 return reflect.TypeOf((**OpenIdConnectProvider)(nil)).Elem() 253 } 254 255 func (o OpenIdConnectProviderOutput) ToOpenIdConnectProviderOutput() OpenIdConnectProviderOutput { 256 return o 257 } 258 259 func (o OpenIdConnectProviderOutput) ToOpenIdConnectProviderOutputWithContext(ctx context.Context) OpenIdConnectProviderOutput { 260 return o 261 } 262 263 // The ARN assigned by AWS for this provider. 264 func (o OpenIdConnectProviderOutput) Arn() pulumi.StringOutput { 265 return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 266 } 267 268 // A 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.) 269 func (o OpenIdConnectProviderOutput) ClientIdLists() pulumi.StringArrayOutput { 270 return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringArrayOutput { return v.ClientIdLists }).(pulumi.StringArrayOutput) 271 } 272 273 // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 274 func (o OpenIdConnectProviderOutput) Tags() pulumi.StringMapOutput { 275 return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 276 } 277 278 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 279 // 280 // Deprecated: Please use `tags` instead. 281 func (o OpenIdConnectProviderOutput) TagsAll() pulumi.StringMapOutput { 282 return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 283 } 284 285 // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). 286 func (o OpenIdConnectProviderOutput) ThumbprintLists() pulumi.StringArrayOutput { 287 return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringArrayOutput { return v.ThumbprintLists }).(pulumi.StringArrayOutput) 288 } 289 290 // The URL of the identity provider. Corresponds to the _iss_ claim. 291 func (o OpenIdConnectProviderOutput) Url() pulumi.StringOutput { 292 return o.ApplyT(func(v *OpenIdConnectProvider) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) 293 } 294 295 type OpenIdConnectProviderArrayOutput struct{ *pulumi.OutputState } 296 297 func (OpenIdConnectProviderArrayOutput) ElementType() reflect.Type { 298 return reflect.TypeOf((*[]*OpenIdConnectProvider)(nil)).Elem() 299 } 300 301 func (o OpenIdConnectProviderArrayOutput) ToOpenIdConnectProviderArrayOutput() OpenIdConnectProviderArrayOutput { 302 return o 303 } 304 305 func (o OpenIdConnectProviderArrayOutput) ToOpenIdConnectProviderArrayOutputWithContext(ctx context.Context) OpenIdConnectProviderArrayOutput { 306 return o 307 } 308 309 func (o OpenIdConnectProviderArrayOutput) Index(i pulumi.IntInput) OpenIdConnectProviderOutput { 310 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OpenIdConnectProvider { 311 return vs[0].([]*OpenIdConnectProvider)[vs[1].(int)] 312 }).(OpenIdConnectProviderOutput) 313 } 314 315 type OpenIdConnectProviderMapOutput struct{ *pulumi.OutputState } 316 317 func (OpenIdConnectProviderMapOutput) ElementType() reflect.Type { 318 return reflect.TypeOf((*map[string]*OpenIdConnectProvider)(nil)).Elem() 319 } 320 321 func (o OpenIdConnectProviderMapOutput) ToOpenIdConnectProviderMapOutput() OpenIdConnectProviderMapOutput { 322 return o 323 } 324 325 func (o OpenIdConnectProviderMapOutput) ToOpenIdConnectProviderMapOutputWithContext(ctx context.Context) OpenIdConnectProviderMapOutput { 326 return o 327 } 328 329 func (o OpenIdConnectProviderMapOutput) MapIndex(k pulumi.StringInput) OpenIdConnectProviderOutput { 330 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OpenIdConnectProvider { 331 return vs[0].(map[string]*OpenIdConnectProvider)[vs[1].(string)] 332 }).(OpenIdConnectProviderOutput) 333 } 334 335 func init() { 336 pulumi.RegisterInputType(reflect.TypeOf((*OpenIdConnectProviderInput)(nil)).Elem(), &OpenIdConnectProvider{}) 337 pulumi.RegisterInputType(reflect.TypeOf((*OpenIdConnectProviderArrayInput)(nil)).Elem(), OpenIdConnectProviderArray{}) 338 pulumi.RegisterInputType(reflect.TypeOf((*OpenIdConnectProviderMapInput)(nil)).Elem(), OpenIdConnectProviderMap{}) 339 pulumi.RegisterOutputType(OpenIdConnectProviderOutput{}) 340 pulumi.RegisterOutputType(OpenIdConnectProviderArrayOutput{}) 341 pulumi.RegisterOutputType(OpenIdConnectProviderMapOutput{}) 342 }