github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cognito/riskConfiguration.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 cognito 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 a Cognito Risk Configuration resource. 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/cognito" 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 := cognito.NewRiskConfiguration(ctx, "example", &cognito.RiskConfigurationArgs{ 33 // UserPoolId: pulumi.Any(exampleAwsCognitoUserPool.Id), 34 // RiskExceptionConfiguration: &cognito.RiskConfigurationRiskExceptionConfigurationArgs{ 35 // BlockedIpRangeLists: pulumi.StringArray{ 36 // pulumi.String("10.10.10.10/32"), 37 // }, 38 // }, 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // return nil 44 // }) 45 // } 46 // 47 // ``` 48 // <!--End PulumiCodeChooser --> 49 // 50 // ## Import 51 // 52 // Import using the user pool ID and Client ID separated by a `:`: 53 // 54 // __Using `pulumi import` to import__ Cognito Risk Configurations using the user pool ID or the user pool ID and Client Id separated by a `:`. For example: 55 // 56 // Import using the user pool ID: 57 // 58 // ```sh 59 // $ pulumi import aws:cognito/riskConfiguration:RiskConfiguration main example 60 // ``` 61 // Import using the user pool ID and Client ID separated by a `:`: 62 // 63 // ```sh 64 // $ pulumi import aws:cognito/riskConfiguration:RiskConfiguration main example:example 65 // ``` 66 type RiskConfiguration struct { 67 pulumi.CustomResourceState 68 69 // The account takeover risk configuration. See details below. 70 AccountTakeoverRiskConfiguration RiskConfigurationAccountTakeoverRiskConfigurationPtrOutput `pulumi:"accountTakeoverRiskConfiguration"` 71 // The app client ID. When the client ID is not provided, the same risk configuration is applied to all the clients in the User Pool. 72 ClientId pulumi.StringPtrOutput `pulumi:"clientId"` 73 // The compromised credentials risk configuration. See details below. 74 CompromisedCredentialsRiskConfiguration RiskConfigurationCompromisedCredentialsRiskConfigurationPtrOutput `pulumi:"compromisedCredentialsRiskConfiguration"` 75 // The configuration to override the risk decision. See details below. 76 RiskExceptionConfiguration RiskConfigurationRiskExceptionConfigurationPtrOutput `pulumi:"riskExceptionConfiguration"` 77 // The user pool ID. 78 UserPoolId pulumi.StringOutput `pulumi:"userPoolId"` 79 } 80 81 // NewRiskConfiguration registers a new resource with the given unique name, arguments, and options. 82 func NewRiskConfiguration(ctx *pulumi.Context, 83 name string, args *RiskConfigurationArgs, opts ...pulumi.ResourceOption) (*RiskConfiguration, error) { 84 if args == nil { 85 return nil, errors.New("missing one or more required arguments") 86 } 87 88 if args.UserPoolId == nil { 89 return nil, errors.New("invalid value for required argument 'UserPoolId'") 90 } 91 opts = internal.PkgResourceDefaultOpts(opts) 92 var resource RiskConfiguration 93 err := ctx.RegisterResource("aws:cognito/riskConfiguration:RiskConfiguration", name, args, &resource, opts...) 94 if err != nil { 95 return nil, err 96 } 97 return &resource, nil 98 } 99 100 // GetRiskConfiguration gets an existing RiskConfiguration resource's state with the given name, ID, and optional 101 // state properties that are used to uniquely qualify the lookup (nil if not required). 102 func GetRiskConfiguration(ctx *pulumi.Context, 103 name string, id pulumi.IDInput, state *RiskConfigurationState, opts ...pulumi.ResourceOption) (*RiskConfiguration, error) { 104 var resource RiskConfiguration 105 err := ctx.ReadResource("aws:cognito/riskConfiguration:RiskConfiguration", name, id, state, &resource, opts...) 106 if err != nil { 107 return nil, err 108 } 109 return &resource, nil 110 } 111 112 // Input properties used for looking up and filtering RiskConfiguration resources. 113 type riskConfigurationState struct { 114 // The account takeover risk configuration. See details below. 115 AccountTakeoverRiskConfiguration *RiskConfigurationAccountTakeoverRiskConfiguration `pulumi:"accountTakeoverRiskConfiguration"` 116 // The app client ID. When the client ID is not provided, the same risk configuration is applied to all the clients in the User Pool. 117 ClientId *string `pulumi:"clientId"` 118 // The compromised credentials risk configuration. See details below. 119 CompromisedCredentialsRiskConfiguration *RiskConfigurationCompromisedCredentialsRiskConfiguration `pulumi:"compromisedCredentialsRiskConfiguration"` 120 // The configuration to override the risk decision. See details below. 121 RiskExceptionConfiguration *RiskConfigurationRiskExceptionConfiguration `pulumi:"riskExceptionConfiguration"` 122 // The user pool ID. 123 UserPoolId *string `pulumi:"userPoolId"` 124 } 125 126 type RiskConfigurationState struct { 127 // The account takeover risk configuration. See details below. 128 AccountTakeoverRiskConfiguration RiskConfigurationAccountTakeoverRiskConfigurationPtrInput 129 // The app client ID. When the client ID is not provided, the same risk configuration is applied to all the clients in the User Pool. 130 ClientId pulumi.StringPtrInput 131 // The compromised credentials risk configuration. See details below. 132 CompromisedCredentialsRiskConfiguration RiskConfigurationCompromisedCredentialsRiskConfigurationPtrInput 133 // The configuration to override the risk decision. See details below. 134 RiskExceptionConfiguration RiskConfigurationRiskExceptionConfigurationPtrInput 135 // The user pool ID. 136 UserPoolId pulumi.StringPtrInput 137 } 138 139 func (RiskConfigurationState) ElementType() reflect.Type { 140 return reflect.TypeOf((*riskConfigurationState)(nil)).Elem() 141 } 142 143 type riskConfigurationArgs struct { 144 // The account takeover risk configuration. See details below. 145 AccountTakeoverRiskConfiguration *RiskConfigurationAccountTakeoverRiskConfiguration `pulumi:"accountTakeoverRiskConfiguration"` 146 // The app client ID. When the client ID is not provided, the same risk configuration is applied to all the clients in the User Pool. 147 ClientId *string `pulumi:"clientId"` 148 // The compromised credentials risk configuration. See details below. 149 CompromisedCredentialsRiskConfiguration *RiskConfigurationCompromisedCredentialsRiskConfiguration `pulumi:"compromisedCredentialsRiskConfiguration"` 150 // The configuration to override the risk decision. See details below. 151 RiskExceptionConfiguration *RiskConfigurationRiskExceptionConfiguration `pulumi:"riskExceptionConfiguration"` 152 // The user pool ID. 153 UserPoolId string `pulumi:"userPoolId"` 154 } 155 156 // The set of arguments for constructing a RiskConfiguration resource. 157 type RiskConfigurationArgs struct { 158 // The account takeover risk configuration. See details below. 159 AccountTakeoverRiskConfiguration RiskConfigurationAccountTakeoverRiskConfigurationPtrInput 160 // The app client ID. When the client ID is not provided, the same risk configuration is applied to all the clients in the User Pool. 161 ClientId pulumi.StringPtrInput 162 // The compromised credentials risk configuration. See details below. 163 CompromisedCredentialsRiskConfiguration RiskConfigurationCompromisedCredentialsRiskConfigurationPtrInput 164 // The configuration to override the risk decision. See details below. 165 RiskExceptionConfiguration RiskConfigurationRiskExceptionConfigurationPtrInput 166 // The user pool ID. 167 UserPoolId pulumi.StringInput 168 } 169 170 func (RiskConfigurationArgs) ElementType() reflect.Type { 171 return reflect.TypeOf((*riskConfigurationArgs)(nil)).Elem() 172 } 173 174 type RiskConfigurationInput interface { 175 pulumi.Input 176 177 ToRiskConfigurationOutput() RiskConfigurationOutput 178 ToRiskConfigurationOutputWithContext(ctx context.Context) RiskConfigurationOutput 179 } 180 181 func (*RiskConfiguration) ElementType() reflect.Type { 182 return reflect.TypeOf((**RiskConfiguration)(nil)).Elem() 183 } 184 185 func (i *RiskConfiguration) ToRiskConfigurationOutput() RiskConfigurationOutput { 186 return i.ToRiskConfigurationOutputWithContext(context.Background()) 187 } 188 189 func (i *RiskConfiguration) ToRiskConfigurationOutputWithContext(ctx context.Context) RiskConfigurationOutput { 190 return pulumi.ToOutputWithContext(ctx, i).(RiskConfigurationOutput) 191 } 192 193 // RiskConfigurationArrayInput is an input type that accepts RiskConfigurationArray and RiskConfigurationArrayOutput values. 194 // You can construct a concrete instance of `RiskConfigurationArrayInput` via: 195 // 196 // RiskConfigurationArray{ RiskConfigurationArgs{...} } 197 type RiskConfigurationArrayInput interface { 198 pulumi.Input 199 200 ToRiskConfigurationArrayOutput() RiskConfigurationArrayOutput 201 ToRiskConfigurationArrayOutputWithContext(context.Context) RiskConfigurationArrayOutput 202 } 203 204 type RiskConfigurationArray []RiskConfigurationInput 205 206 func (RiskConfigurationArray) ElementType() reflect.Type { 207 return reflect.TypeOf((*[]*RiskConfiguration)(nil)).Elem() 208 } 209 210 func (i RiskConfigurationArray) ToRiskConfigurationArrayOutput() RiskConfigurationArrayOutput { 211 return i.ToRiskConfigurationArrayOutputWithContext(context.Background()) 212 } 213 214 func (i RiskConfigurationArray) ToRiskConfigurationArrayOutputWithContext(ctx context.Context) RiskConfigurationArrayOutput { 215 return pulumi.ToOutputWithContext(ctx, i).(RiskConfigurationArrayOutput) 216 } 217 218 // RiskConfigurationMapInput is an input type that accepts RiskConfigurationMap and RiskConfigurationMapOutput values. 219 // You can construct a concrete instance of `RiskConfigurationMapInput` via: 220 // 221 // RiskConfigurationMap{ "key": RiskConfigurationArgs{...} } 222 type RiskConfigurationMapInput interface { 223 pulumi.Input 224 225 ToRiskConfigurationMapOutput() RiskConfigurationMapOutput 226 ToRiskConfigurationMapOutputWithContext(context.Context) RiskConfigurationMapOutput 227 } 228 229 type RiskConfigurationMap map[string]RiskConfigurationInput 230 231 func (RiskConfigurationMap) ElementType() reflect.Type { 232 return reflect.TypeOf((*map[string]*RiskConfiguration)(nil)).Elem() 233 } 234 235 func (i RiskConfigurationMap) ToRiskConfigurationMapOutput() RiskConfigurationMapOutput { 236 return i.ToRiskConfigurationMapOutputWithContext(context.Background()) 237 } 238 239 func (i RiskConfigurationMap) ToRiskConfigurationMapOutputWithContext(ctx context.Context) RiskConfigurationMapOutput { 240 return pulumi.ToOutputWithContext(ctx, i).(RiskConfigurationMapOutput) 241 } 242 243 type RiskConfigurationOutput struct{ *pulumi.OutputState } 244 245 func (RiskConfigurationOutput) ElementType() reflect.Type { 246 return reflect.TypeOf((**RiskConfiguration)(nil)).Elem() 247 } 248 249 func (o RiskConfigurationOutput) ToRiskConfigurationOutput() RiskConfigurationOutput { 250 return o 251 } 252 253 func (o RiskConfigurationOutput) ToRiskConfigurationOutputWithContext(ctx context.Context) RiskConfigurationOutput { 254 return o 255 } 256 257 // The account takeover risk configuration. See details below. 258 func (o RiskConfigurationOutput) AccountTakeoverRiskConfiguration() RiskConfigurationAccountTakeoverRiskConfigurationPtrOutput { 259 return o.ApplyT(func(v *RiskConfiguration) RiskConfigurationAccountTakeoverRiskConfigurationPtrOutput { 260 return v.AccountTakeoverRiskConfiguration 261 }).(RiskConfigurationAccountTakeoverRiskConfigurationPtrOutput) 262 } 263 264 // The app client ID. When the client ID is not provided, the same risk configuration is applied to all the clients in the User Pool. 265 func (o RiskConfigurationOutput) ClientId() pulumi.StringPtrOutput { 266 return o.ApplyT(func(v *RiskConfiguration) pulumi.StringPtrOutput { return v.ClientId }).(pulumi.StringPtrOutput) 267 } 268 269 // The compromised credentials risk configuration. See details below. 270 func (o RiskConfigurationOutput) CompromisedCredentialsRiskConfiguration() RiskConfigurationCompromisedCredentialsRiskConfigurationPtrOutput { 271 return o.ApplyT(func(v *RiskConfiguration) RiskConfigurationCompromisedCredentialsRiskConfigurationPtrOutput { 272 return v.CompromisedCredentialsRiskConfiguration 273 }).(RiskConfigurationCompromisedCredentialsRiskConfigurationPtrOutput) 274 } 275 276 // The configuration to override the risk decision. See details below. 277 func (o RiskConfigurationOutput) RiskExceptionConfiguration() RiskConfigurationRiskExceptionConfigurationPtrOutput { 278 return o.ApplyT(func(v *RiskConfiguration) RiskConfigurationRiskExceptionConfigurationPtrOutput { 279 return v.RiskExceptionConfiguration 280 }).(RiskConfigurationRiskExceptionConfigurationPtrOutput) 281 } 282 283 // The user pool ID. 284 func (o RiskConfigurationOutput) UserPoolId() pulumi.StringOutput { 285 return o.ApplyT(func(v *RiskConfiguration) pulumi.StringOutput { return v.UserPoolId }).(pulumi.StringOutput) 286 } 287 288 type RiskConfigurationArrayOutput struct{ *pulumi.OutputState } 289 290 func (RiskConfigurationArrayOutput) ElementType() reflect.Type { 291 return reflect.TypeOf((*[]*RiskConfiguration)(nil)).Elem() 292 } 293 294 func (o RiskConfigurationArrayOutput) ToRiskConfigurationArrayOutput() RiskConfigurationArrayOutput { 295 return o 296 } 297 298 func (o RiskConfigurationArrayOutput) ToRiskConfigurationArrayOutputWithContext(ctx context.Context) RiskConfigurationArrayOutput { 299 return o 300 } 301 302 func (o RiskConfigurationArrayOutput) Index(i pulumi.IntInput) RiskConfigurationOutput { 303 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RiskConfiguration { 304 return vs[0].([]*RiskConfiguration)[vs[1].(int)] 305 }).(RiskConfigurationOutput) 306 } 307 308 type RiskConfigurationMapOutput struct{ *pulumi.OutputState } 309 310 func (RiskConfigurationMapOutput) ElementType() reflect.Type { 311 return reflect.TypeOf((*map[string]*RiskConfiguration)(nil)).Elem() 312 } 313 314 func (o RiskConfigurationMapOutput) ToRiskConfigurationMapOutput() RiskConfigurationMapOutput { 315 return o 316 } 317 318 func (o RiskConfigurationMapOutput) ToRiskConfigurationMapOutputWithContext(ctx context.Context) RiskConfigurationMapOutput { 319 return o 320 } 321 322 func (o RiskConfigurationMapOutput) MapIndex(k pulumi.StringInput) RiskConfigurationOutput { 323 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RiskConfiguration { 324 return vs[0].(map[string]*RiskConfiguration)[vs[1].(string)] 325 }).(RiskConfigurationOutput) 326 } 327 328 func init() { 329 pulumi.RegisterInputType(reflect.TypeOf((*RiskConfigurationInput)(nil)).Elem(), &RiskConfiguration{}) 330 pulumi.RegisterInputType(reflect.TypeOf((*RiskConfigurationArrayInput)(nil)).Elem(), RiskConfigurationArray{}) 331 pulumi.RegisterInputType(reflect.TypeOf((*RiskConfigurationMapInput)(nil)).Elem(), RiskConfigurationMap{}) 332 pulumi.RegisterOutputType(RiskConfigurationOutput{}) 333 pulumi.RegisterOutputType(RiskConfigurationArrayOutput{}) 334 pulumi.RegisterOutputType(RiskConfigurationMapOutput{}) 335 }