github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/gamelift/matchmakingConfiguration.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 gamelift
     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 GameLift Alias resource.
    16  //
    17  // ## Import
    18  //
    19  // GameLift Matchmaking Configurations can be imported using the ID, e.g.,
    20  //
    21  // ```sh
    22  // $ pulumi import aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration example <matchmakingconfiguration-id>
    23  // ```
    24  type MatchmakingConfiguration struct {
    25  	pulumi.CustomResourceState
    26  
    27  	// Specifies if the match that was created with this configuration must be accepted by matched players.
    28  	AcceptanceRequired pulumi.BoolPtrOutput `pulumi:"acceptanceRequired"`
    29  	// The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
    30  	AcceptanceTimeoutSeconds pulumi.IntPtrOutput `pulumi:"acceptanceTimeoutSeconds"`
    31  	// The number of player slots in a match to keep open for future players.
    32  	AdditionalPlayerCount pulumi.IntPtrOutput `pulumi:"additionalPlayerCount"`
    33  	// Matchmaking Configuration ARN.
    34  	Arn pulumi.StringOutput `pulumi:"arn"`
    35  	// The method used to backfill game sessions that are created with this matchmaking configuration.
    36  	BackfillMode pulumi.StringPtrOutput `pulumi:"backfillMode"`
    37  	// The time when the Matchmaking Configuration was created.
    38  	CreationTime pulumi.StringOutput `pulumi:"creationTime"`
    39  	// Information to be added to all events related to this matchmaking configuration.
    40  	CustomEventData pulumi.StringPtrOutput `pulumi:"customEventData"`
    41  	// A human-readable description of the matchmaking configuration.
    42  	Description pulumi.StringPtrOutput `pulumi:"description"`
    43  	// Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
    44  	FlexMatchMode pulumi.StringOutput `pulumi:"flexMatchMode"`
    45  	// One or more custom game properties. See below.
    46  	GameProperties MatchmakingConfigurationGamePropertyArrayOutput `pulumi:"gameProperties"`
    47  	// A set of custom game session properties.
    48  	GameSessionData pulumi.StringPtrOutput `pulumi:"gameSessionData"`
    49  	// The ARNs of the GameLift game session queue resources.
    50  	GameSessionQueueArns pulumi.StringArrayOutput `pulumi:"gameSessionQueueArns"`
    51  	// Name of the matchmaking configuration
    52  	Name pulumi.StringOutput `pulumi:"name"`
    53  	// An SNS topic ARN that is set up to receive matchmaking notifications.
    54  	NotificationTarget pulumi.StringPtrOutput `pulumi:"notificationTarget"`
    55  	// The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
    56  	RequestTimeoutSeconds pulumi.IntOutput    `pulumi:"requestTimeoutSeconds"`
    57  	RuleSetArn            pulumi.StringOutput `pulumi:"ruleSetArn"`
    58  	// A rule set names for the matchmaking rule set to use with this configuration.
    59  	RuleSetName pulumi.StringOutput `pulumi:"ruleSetName"`
    60  	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    61  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    62  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    63  	//
    64  	// Deprecated: Please use `tags` instead.
    65  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    66  }
    67  
    68  // NewMatchmakingConfiguration registers a new resource with the given unique name, arguments, and options.
    69  func NewMatchmakingConfiguration(ctx *pulumi.Context,
    70  	name string, args *MatchmakingConfigurationArgs, opts ...pulumi.ResourceOption) (*MatchmakingConfiguration, error) {
    71  	if args == nil {
    72  		return nil, errors.New("missing one or more required arguments")
    73  	}
    74  
    75  	if args.RequestTimeoutSeconds == nil {
    76  		return nil, errors.New("invalid value for required argument 'RequestTimeoutSeconds'")
    77  	}
    78  	if args.RuleSetName == nil {
    79  		return nil, errors.New("invalid value for required argument 'RuleSetName'")
    80  	}
    81  	opts = internal.PkgResourceDefaultOpts(opts)
    82  	var resource MatchmakingConfiguration
    83  	err := ctx.RegisterResource("aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration", name, args, &resource, opts...)
    84  	if err != nil {
    85  		return nil, err
    86  	}
    87  	return &resource, nil
    88  }
    89  
    90  // GetMatchmakingConfiguration gets an existing MatchmakingConfiguration resource's state with the given name, ID, and optional
    91  // state properties that are used to uniquely qualify the lookup (nil if not required).
    92  func GetMatchmakingConfiguration(ctx *pulumi.Context,
    93  	name string, id pulumi.IDInput, state *MatchmakingConfigurationState, opts ...pulumi.ResourceOption) (*MatchmakingConfiguration, error) {
    94  	var resource MatchmakingConfiguration
    95  	err := ctx.ReadResource("aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration", name, id, state, &resource, opts...)
    96  	if err != nil {
    97  		return nil, err
    98  	}
    99  	return &resource, nil
   100  }
   101  
   102  // Input properties used for looking up and filtering MatchmakingConfiguration resources.
   103  type matchmakingConfigurationState struct {
   104  	// Specifies if the match that was created with this configuration must be accepted by matched players.
   105  	AcceptanceRequired *bool `pulumi:"acceptanceRequired"`
   106  	// The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
   107  	AcceptanceTimeoutSeconds *int `pulumi:"acceptanceTimeoutSeconds"`
   108  	// The number of player slots in a match to keep open for future players.
   109  	AdditionalPlayerCount *int `pulumi:"additionalPlayerCount"`
   110  	// Matchmaking Configuration ARN.
   111  	Arn *string `pulumi:"arn"`
   112  	// The method used to backfill game sessions that are created with this matchmaking configuration.
   113  	BackfillMode *string `pulumi:"backfillMode"`
   114  	// The time when the Matchmaking Configuration was created.
   115  	CreationTime *string `pulumi:"creationTime"`
   116  	// Information to be added to all events related to this matchmaking configuration.
   117  	CustomEventData *string `pulumi:"customEventData"`
   118  	// A human-readable description of the matchmaking configuration.
   119  	Description *string `pulumi:"description"`
   120  	// Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
   121  	FlexMatchMode *string `pulumi:"flexMatchMode"`
   122  	// One or more custom game properties. See below.
   123  	GameProperties []MatchmakingConfigurationGameProperty `pulumi:"gameProperties"`
   124  	// A set of custom game session properties.
   125  	GameSessionData *string `pulumi:"gameSessionData"`
   126  	// The ARNs of the GameLift game session queue resources.
   127  	GameSessionQueueArns []string `pulumi:"gameSessionQueueArns"`
   128  	// Name of the matchmaking configuration
   129  	Name *string `pulumi:"name"`
   130  	// An SNS topic ARN that is set up to receive matchmaking notifications.
   131  	NotificationTarget *string `pulumi:"notificationTarget"`
   132  	// The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
   133  	RequestTimeoutSeconds *int    `pulumi:"requestTimeoutSeconds"`
   134  	RuleSetArn            *string `pulumi:"ruleSetArn"`
   135  	// A rule set names for the matchmaking rule set to use with this configuration.
   136  	RuleSetName *string `pulumi:"ruleSetName"`
   137  	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   138  	Tags map[string]string `pulumi:"tags"`
   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 map[string]string `pulumi:"tagsAll"`
   143  }
   144  
   145  type MatchmakingConfigurationState struct {
   146  	// Specifies if the match that was created with this configuration must be accepted by matched players.
   147  	AcceptanceRequired pulumi.BoolPtrInput
   148  	// The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
   149  	AcceptanceTimeoutSeconds pulumi.IntPtrInput
   150  	// The number of player slots in a match to keep open for future players.
   151  	AdditionalPlayerCount pulumi.IntPtrInput
   152  	// Matchmaking Configuration ARN.
   153  	Arn pulumi.StringPtrInput
   154  	// The method used to backfill game sessions that are created with this matchmaking configuration.
   155  	BackfillMode pulumi.StringPtrInput
   156  	// The time when the Matchmaking Configuration was created.
   157  	CreationTime pulumi.StringPtrInput
   158  	// Information to be added to all events related to this matchmaking configuration.
   159  	CustomEventData pulumi.StringPtrInput
   160  	// A human-readable description of the matchmaking configuration.
   161  	Description pulumi.StringPtrInput
   162  	// Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
   163  	FlexMatchMode pulumi.StringPtrInput
   164  	// One or more custom game properties. See below.
   165  	GameProperties MatchmakingConfigurationGamePropertyArrayInput
   166  	// A set of custom game session properties.
   167  	GameSessionData pulumi.StringPtrInput
   168  	// The ARNs of the GameLift game session queue resources.
   169  	GameSessionQueueArns pulumi.StringArrayInput
   170  	// Name of the matchmaking configuration
   171  	Name pulumi.StringPtrInput
   172  	// An SNS topic ARN that is set up to receive matchmaking notifications.
   173  	NotificationTarget pulumi.StringPtrInput
   174  	// The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
   175  	RequestTimeoutSeconds pulumi.IntPtrInput
   176  	RuleSetArn            pulumi.StringPtrInput
   177  	// A rule set names for the matchmaking rule set to use with this configuration.
   178  	RuleSetName pulumi.StringPtrInput
   179  	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   180  	Tags pulumi.StringMapInput
   181  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   182  	//
   183  	// Deprecated: Please use `tags` instead.
   184  	TagsAll pulumi.StringMapInput
   185  }
   186  
   187  func (MatchmakingConfigurationState) ElementType() reflect.Type {
   188  	return reflect.TypeOf((*matchmakingConfigurationState)(nil)).Elem()
   189  }
   190  
   191  type matchmakingConfigurationArgs struct {
   192  	// Specifies if the match that was created with this configuration must be accepted by matched players.
   193  	AcceptanceRequired *bool `pulumi:"acceptanceRequired"`
   194  	// The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
   195  	AcceptanceTimeoutSeconds *int `pulumi:"acceptanceTimeoutSeconds"`
   196  	// The number of player slots in a match to keep open for future players.
   197  	AdditionalPlayerCount *int `pulumi:"additionalPlayerCount"`
   198  	// The method used to backfill game sessions that are created with this matchmaking configuration.
   199  	BackfillMode *string `pulumi:"backfillMode"`
   200  	// Information to be added to all events related to this matchmaking configuration.
   201  	CustomEventData *string `pulumi:"customEventData"`
   202  	// A human-readable description of the matchmaking configuration.
   203  	Description *string `pulumi:"description"`
   204  	// Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
   205  	FlexMatchMode *string `pulumi:"flexMatchMode"`
   206  	// One or more custom game properties. See below.
   207  	GameProperties []MatchmakingConfigurationGameProperty `pulumi:"gameProperties"`
   208  	// A set of custom game session properties.
   209  	GameSessionData *string `pulumi:"gameSessionData"`
   210  	// The ARNs of the GameLift game session queue resources.
   211  	GameSessionQueueArns []string `pulumi:"gameSessionQueueArns"`
   212  	// Name of the matchmaking configuration
   213  	Name *string `pulumi:"name"`
   214  	// An SNS topic ARN that is set up to receive matchmaking notifications.
   215  	NotificationTarget *string `pulumi:"notificationTarget"`
   216  	// The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
   217  	RequestTimeoutSeconds int `pulumi:"requestTimeoutSeconds"`
   218  	// A rule set names for the matchmaking rule set to use with this configuration.
   219  	RuleSetName string `pulumi:"ruleSetName"`
   220  	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   221  	Tags map[string]string `pulumi:"tags"`
   222  }
   223  
   224  // The set of arguments for constructing a MatchmakingConfiguration resource.
   225  type MatchmakingConfigurationArgs struct {
   226  	// Specifies if the match that was created with this configuration must be accepted by matched players.
   227  	AcceptanceRequired pulumi.BoolPtrInput
   228  	// The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
   229  	AcceptanceTimeoutSeconds pulumi.IntPtrInput
   230  	// The number of player slots in a match to keep open for future players.
   231  	AdditionalPlayerCount pulumi.IntPtrInput
   232  	// The method used to backfill game sessions that are created with this matchmaking configuration.
   233  	BackfillMode pulumi.StringPtrInput
   234  	// Information to be added to all events related to this matchmaking configuration.
   235  	CustomEventData pulumi.StringPtrInput
   236  	// A human-readable description of the matchmaking configuration.
   237  	Description pulumi.StringPtrInput
   238  	// Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
   239  	FlexMatchMode pulumi.StringPtrInput
   240  	// One or more custom game properties. See below.
   241  	GameProperties MatchmakingConfigurationGamePropertyArrayInput
   242  	// A set of custom game session properties.
   243  	GameSessionData pulumi.StringPtrInput
   244  	// The ARNs of the GameLift game session queue resources.
   245  	GameSessionQueueArns pulumi.StringArrayInput
   246  	// Name of the matchmaking configuration
   247  	Name pulumi.StringPtrInput
   248  	// An SNS topic ARN that is set up to receive matchmaking notifications.
   249  	NotificationTarget pulumi.StringPtrInput
   250  	// The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
   251  	RequestTimeoutSeconds pulumi.IntInput
   252  	// A rule set names for the matchmaking rule set to use with this configuration.
   253  	RuleSetName pulumi.StringInput
   254  	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   255  	Tags pulumi.StringMapInput
   256  }
   257  
   258  func (MatchmakingConfigurationArgs) ElementType() reflect.Type {
   259  	return reflect.TypeOf((*matchmakingConfigurationArgs)(nil)).Elem()
   260  }
   261  
   262  type MatchmakingConfigurationInput interface {
   263  	pulumi.Input
   264  
   265  	ToMatchmakingConfigurationOutput() MatchmakingConfigurationOutput
   266  	ToMatchmakingConfigurationOutputWithContext(ctx context.Context) MatchmakingConfigurationOutput
   267  }
   268  
   269  func (*MatchmakingConfiguration) ElementType() reflect.Type {
   270  	return reflect.TypeOf((**MatchmakingConfiguration)(nil)).Elem()
   271  }
   272  
   273  func (i *MatchmakingConfiguration) ToMatchmakingConfigurationOutput() MatchmakingConfigurationOutput {
   274  	return i.ToMatchmakingConfigurationOutputWithContext(context.Background())
   275  }
   276  
   277  func (i *MatchmakingConfiguration) ToMatchmakingConfigurationOutputWithContext(ctx context.Context) MatchmakingConfigurationOutput {
   278  	return pulumi.ToOutputWithContext(ctx, i).(MatchmakingConfigurationOutput)
   279  }
   280  
   281  // MatchmakingConfigurationArrayInput is an input type that accepts MatchmakingConfigurationArray and MatchmakingConfigurationArrayOutput values.
   282  // You can construct a concrete instance of `MatchmakingConfigurationArrayInput` via:
   283  //
   284  //	MatchmakingConfigurationArray{ MatchmakingConfigurationArgs{...} }
   285  type MatchmakingConfigurationArrayInput interface {
   286  	pulumi.Input
   287  
   288  	ToMatchmakingConfigurationArrayOutput() MatchmakingConfigurationArrayOutput
   289  	ToMatchmakingConfigurationArrayOutputWithContext(context.Context) MatchmakingConfigurationArrayOutput
   290  }
   291  
   292  type MatchmakingConfigurationArray []MatchmakingConfigurationInput
   293  
   294  func (MatchmakingConfigurationArray) ElementType() reflect.Type {
   295  	return reflect.TypeOf((*[]*MatchmakingConfiguration)(nil)).Elem()
   296  }
   297  
   298  func (i MatchmakingConfigurationArray) ToMatchmakingConfigurationArrayOutput() MatchmakingConfigurationArrayOutput {
   299  	return i.ToMatchmakingConfigurationArrayOutputWithContext(context.Background())
   300  }
   301  
   302  func (i MatchmakingConfigurationArray) ToMatchmakingConfigurationArrayOutputWithContext(ctx context.Context) MatchmakingConfigurationArrayOutput {
   303  	return pulumi.ToOutputWithContext(ctx, i).(MatchmakingConfigurationArrayOutput)
   304  }
   305  
   306  // MatchmakingConfigurationMapInput is an input type that accepts MatchmakingConfigurationMap and MatchmakingConfigurationMapOutput values.
   307  // You can construct a concrete instance of `MatchmakingConfigurationMapInput` via:
   308  //
   309  //	MatchmakingConfigurationMap{ "key": MatchmakingConfigurationArgs{...} }
   310  type MatchmakingConfigurationMapInput interface {
   311  	pulumi.Input
   312  
   313  	ToMatchmakingConfigurationMapOutput() MatchmakingConfigurationMapOutput
   314  	ToMatchmakingConfigurationMapOutputWithContext(context.Context) MatchmakingConfigurationMapOutput
   315  }
   316  
   317  type MatchmakingConfigurationMap map[string]MatchmakingConfigurationInput
   318  
   319  func (MatchmakingConfigurationMap) ElementType() reflect.Type {
   320  	return reflect.TypeOf((*map[string]*MatchmakingConfiguration)(nil)).Elem()
   321  }
   322  
   323  func (i MatchmakingConfigurationMap) ToMatchmakingConfigurationMapOutput() MatchmakingConfigurationMapOutput {
   324  	return i.ToMatchmakingConfigurationMapOutputWithContext(context.Background())
   325  }
   326  
   327  func (i MatchmakingConfigurationMap) ToMatchmakingConfigurationMapOutputWithContext(ctx context.Context) MatchmakingConfigurationMapOutput {
   328  	return pulumi.ToOutputWithContext(ctx, i).(MatchmakingConfigurationMapOutput)
   329  }
   330  
   331  type MatchmakingConfigurationOutput struct{ *pulumi.OutputState }
   332  
   333  func (MatchmakingConfigurationOutput) ElementType() reflect.Type {
   334  	return reflect.TypeOf((**MatchmakingConfiguration)(nil)).Elem()
   335  }
   336  
   337  func (o MatchmakingConfigurationOutput) ToMatchmakingConfigurationOutput() MatchmakingConfigurationOutput {
   338  	return o
   339  }
   340  
   341  func (o MatchmakingConfigurationOutput) ToMatchmakingConfigurationOutputWithContext(ctx context.Context) MatchmakingConfigurationOutput {
   342  	return o
   343  }
   344  
   345  // Specifies if the match that was created with this configuration must be accepted by matched players.
   346  func (o MatchmakingConfigurationOutput) AcceptanceRequired() pulumi.BoolPtrOutput {
   347  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.BoolPtrOutput { return v.AcceptanceRequired }).(pulumi.BoolPtrOutput)
   348  }
   349  
   350  // The length of time (in seconds) to wait for players to accept a proposed match, if acceptance is required.
   351  func (o MatchmakingConfigurationOutput) AcceptanceTimeoutSeconds() pulumi.IntPtrOutput {
   352  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.IntPtrOutput { return v.AcceptanceTimeoutSeconds }).(pulumi.IntPtrOutput)
   353  }
   354  
   355  // The number of player slots in a match to keep open for future players.
   356  func (o MatchmakingConfigurationOutput) AdditionalPlayerCount() pulumi.IntPtrOutput {
   357  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.IntPtrOutput { return v.AdditionalPlayerCount }).(pulumi.IntPtrOutput)
   358  }
   359  
   360  // Matchmaking Configuration ARN.
   361  func (o MatchmakingConfigurationOutput) Arn() pulumi.StringOutput {
   362  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   363  }
   364  
   365  // The method used to backfill game sessions that are created with this matchmaking configuration.
   366  func (o MatchmakingConfigurationOutput) BackfillMode() pulumi.StringPtrOutput {
   367  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringPtrOutput { return v.BackfillMode }).(pulumi.StringPtrOutput)
   368  }
   369  
   370  // The time when the Matchmaking Configuration was created.
   371  func (o MatchmakingConfigurationOutput) CreationTime() pulumi.StringOutput {
   372  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput)
   373  }
   374  
   375  // Information to be added to all events related to this matchmaking configuration.
   376  func (o MatchmakingConfigurationOutput) CustomEventData() pulumi.StringPtrOutput {
   377  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringPtrOutput { return v.CustomEventData }).(pulumi.StringPtrOutput)
   378  }
   379  
   380  // A human-readable description of the matchmaking configuration.
   381  func (o MatchmakingConfigurationOutput) Description() pulumi.StringPtrOutput {
   382  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   383  }
   384  
   385  // Indicates whether this matchmaking configuration is being used with GameLift hosting or as a standalone matchmaking solution.
   386  func (o MatchmakingConfigurationOutput) FlexMatchMode() pulumi.StringOutput {
   387  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringOutput { return v.FlexMatchMode }).(pulumi.StringOutput)
   388  }
   389  
   390  // One or more custom game properties. See below.
   391  func (o MatchmakingConfigurationOutput) GameProperties() MatchmakingConfigurationGamePropertyArrayOutput {
   392  	return o.ApplyT(func(v *MatchmakingConfiguration) MatchmakingConfigurationGamePropertyArrayOutput {
   393  		return v.GameProperties
   394  	}).(MatchmakingConfigurationGamePropertyArrayOutput)
   395  }
   396  
   397  // A set of custom game session properties.
   398  func (o MatchmakingConfigurationOutput) GameSessionData() pulumi.StringPtrOutput {
   399  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringPtrOutput { return v.GameSessionData }).(pulumi.StringPtrOutput)
   400  }
   401  
   402  // The ARNs of the GameLift game session queue resources.
   403  func (o MatchmakingConfigurationOutput) GameSessionQueueArns() pulumi.StringArrayOutput {
   404  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringArrayOutput { return v.GameSessionQueueArns }).(pulumi.StringArrayOutput)
   405  }
   406  
   407  // Name of the matchmaking configuration
   408  func (o MatchmakingConfigurationOutput) Name() pulumi.StringOutput {
   409  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   410  }
   411  
   412  // An SNS topic ARN that is set up to receive matchmaking notifications.
   413  func (o MatchmakingConfigurationOutput) NotificationTarget() pulumi.StringPtrOutput {
   414  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringPtrOutput { return v.NotificationTarget }).(pulumi.StringPtrOutput)
   415  }
   416  
   417  // The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out.
   418  func (o MatchmakingConfigurationOutput) RequestTimeoutSeconds() pulumi.IntOutput {
   419  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.IntOutput { return v.RequestTimeoutSeconds }).(pulumi.IntOutput)
   420  }
   421  
   422  func (o MatchmakingConfigurationOutput) RuleSetArn() pulumi.StringOutput {
   423  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringOutput { return v.RuleSetArn }).(pulumi.StringOutput)
   424  }
   425  
   426  // A rule set names for the matchmaking rule set to use with this configuration.
   427  func (o MatchmakingConfigurationOutput) RuleSetName() pulumi.StringOutput {
   428  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringOutput { return v.RuleSetName }).(pulumi.StringOutput)
   429  }
   430  
   431  // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   432  func (o MatchmakingConfigurationOutput) Tags() pulumi.StringMapOutput {
   433  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   434  }
   435  
   436  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   437  //
   438  // Deprecated: Please use `tags` instead.
   439  func (o MatchmakingConfigurationOutput) TagsAll() pulumi.StringMapOutput {
   440  	return o.ApplyT(func(v *MatchmakingConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   441  }
   442  
   443  type MatchmakingConfigurationArrayOutput struct{ *pulumi.OutputState }
   444  
   445  func (MatchmakingConfigurationArrayOutput) ElementType() reflect.Type {
   446  	return reflect.TypeOf((*[]*MatchmakingConfiguration)(nil)).Elem()
   447  }
   448  
   449  func (o MatchmakingConfigurationArrayOutput) ToMatchmakingConfigurationArrayOutput() MatchmakingConfigurationArrayOutput {
   450  	return o
   451  }
   452  
   453  func (o MatchmakingConfigurationArrayOutput) ToMatchmakingConfigurationArrayOutputWithContext(ctx context.Context) MatchmakingConfigurationArrayOutput {
   454  	return o
   455  }
   456  
   457  func (o MatchmakingConfigurationArrayOutput) Index(i pulumi.IntInput) MatchmakingConfigurationOutput {
   458  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MatchmakingConfiguration {
   459  		return vs[0].([]*MatchmakingConfiguration)[vs[1].(int)]
   460  	}).(MatchmakingConfigurationOutput)
   461  }
   462  
   463  type MatchmakingConfigurationMapOutput struct{ *pulumi.OutputState }
   464  
   465  func (MatchmakingConfigurationMapOutput) ElementType() reflect.Type {
   466  	return reflect.TypeOf((*map[string]*MatchmakingConfiguration)(nil)).Elem()
   467  }
   468  
   469  func (o MatchmakingConfigurationMapOutput) ToMatchmakingConfigurationMapOutput() MatchmakingConfigurationMapOutput {
   470  	return o
   471  }
   472  
   473  func (o MatchmakingConfigurationMapOutput) ToMatchmakingConfigurationMapOutputWithContext(ctx context.Context) MatchmakingConfigurationMapOutput {
   474  	return o
   475  }
   476  
   477  func (o MatchmakingConfigurationMapOutput) MapIndex(k pulumi.StringInput) MatchmakingConfigurationOutput {
   478  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MatchmakingConfiguration {
   479  		return vs[0].(map[string]*MatchmakingConfiguration)[vs[1].(string)]
   480  	}).(MatchmakingConfigurationOutput)
   481  }
   482  
   483  func init() {
   484  	pulumi.RegisterInputType(reflect.TypeOf((*MatchmakingConfigurationInput)(nil)).Elem(), &MatchmakingConfiguration{})
   485  	pulumi.RegisterInputType(reflect.TypeOf((*MatchmakingConfigurationArrayInput)(nil)).Elem(), MatchmakingConfigurationArray{})
   486  	pulumi.RegisterInputType(reflect.TypeOf((*MatchmakingConfigurationMapInput)(nil)).Elem(), MatchmakingConfigurationMap{})
   487  	pulumi.RegisterOutputType(MatchmakingConfigurationOutput{})
   488  	pulumi.RegisterOutputType(MatchmakingConfigurationArrayOutput{})
   489  	pulumi.RegisterOutputType(MatchmakingConfigurationMapOutput{})
   490  }