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  }