github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/gamelift/fleet.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 Fleet 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/gamelift"
    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 := gamelift.NewFleet(ctx, "example", &gamelift.FleetArgs{
    33  //				BuildId:         pulumi.Any(exampleAwsGameliftBuild.Id),
    34  //				Ec2InstanceType: pulumi.String("t2.micro"),
    35  //				FleetType:       pulumi.String("ON_DEMAND"),
    36  //				Name:            pulumi.String("example-fleet-name"),
    37  //				RuntimeConfiguration: &gamelift.FleetRuntimeConfigurationArgs{
    38  //					ServerProcesses: gamelift.FleetRuntimeConfigurationServerProcessArray{
    39  //						&gamelift.FleetRuntimeConfigurationServerProcessArgs{
    40  //							ConcurrentExecutions: pulumi.Int(1),
    41  //							LaunchPath:           pulumi.String("C:\\game\\GomokuServer.exe"),
    42  //						},
    43  //					},
    44  //				},
    45  //			})
    46  //			if err != nil {
    47  //				return err
    48  //			}
    49  //			return nil
    50  //		})
    51  //	}
    52  //
    53  // ```
    54  // <!--End PulumiCodeChooser -->
    55  //
    56  // ## Import
    57  //
    58  // Using `pulumi import`, import GameLift Fleets using the ID. For example:
    59  //
    60  // ```sh
    61  // $ pulumi import aws:gamelift/fleet:Fleet example <fleet-id>
    62  // ```
    63  type Fleet struct {
    64  	pulumi.CustomResourceState
    65  
    66  	// Fleet ARN.
    67  	Arn pulumi.StringOutput `pulumi:"arn"`
    68  	// Build ARN.
    69  	BuildArn pulumi.StringOutput `pulumi:"buildArn"`
    70  	// ID of the GameLift Build to be deployed on the fleet.
    71  	BuildId pulumi.StringPtrOutput `pulumi:"buildId"`
    72  	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. See certificate_configuration.
    73  	CertificateConfiguration FleetCertificateConfigurationOutput `pulumi:"certificateConfiguration"`
    74  	// Human-readable description of the fleet.
    75  	Description pulumi.StringPtrOutput `pulumi:"description"`
    76  	// Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.
    77  	Ec2InboundPermissions FleetEc2InboundPermissionArrayOutput `pulumi:"ec2InboundPermissions"`
    78  	// Name of an EC2 instance typeE.g., `t2.micro`
    79  	Ec2InstanceType pulumi.StringOutput `pulumi:"ec2InstanceType"`
    80  	// Type of fleet. This value must be `ON_DEMAND` or `SPOT`. Defaults to `ON_DEMAND`.
    81  	FleetType pulumi.StringPtrOutput `pulumi:"fleetType"`
    82  	// ARN of an IAM role that instances in the fleet can assume.
    83  	InstanceRoleArn pulumi.StringPtrOutput   `pulumi:"instanceRoleArn"`
    84  	LogPaths        pulumi.StringArrayOutput `pulumi:"logPaths"`
    85  	// List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to `default`.
    86  	MetricGroups pulumi.StringArrayOutput `pulumi:"metricGroups"`
    87  	// The name of the fleet.
    88  	Name pulumi.StringOutput `pulumi:"name"`
    89  	// Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`.
    90  	NewGameSessionProtectionPolicy pulumi.StringPtrOutput `pulumi:"newGameSessionProtectionPolicy"`
    91  	// Operating system of the fleet's computing resources.
    92  	OperatingSystem pulumi.StringOutput `pulumi:"operatingSystem"`
    93  	// Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.
    94  	ResourceCreationLimitPolicy FleetResourceCreationLimitPolicyPtrOutput `pulumi:"resourceCreationLimitPolicy"`
    95  	// Instructions for launching server processes on each instance in the fleet. See below.
    96  	RuntimeConfiguration FleetRuntimeConfigurationPtrOutput `pulumi:"runtimeConfiguration"`
    97  	// Script ARN.
    98  	ScriptArn pulumi.StringOutput `pulumi:"scriptArn"`
    99  	// ID of the GameLift Script to be deployed on the fleet.
   100  	ScriptId pulumi.StringPtrOutput `pulumi:"scriptId"`
   101  	// 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.
   102  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   103  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   104  	//
   105  	// Deprecated: Please use `tags` instead.
   106  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   107  }
   108  
   109  // NewFleet registers a new resource with the given unique name, arguments, and options.
   110  func NewFleet(ctx *pulumi.Context,
   111  	name string, args *FleetArgs, opts ...pulumi.ResourceOption) (*Fleet, error) {
   112  	if args == nil {
   113  		return nil, errors.New("missing one or more required arguments")
   114  	}
   115  
   116  	if args.Ec2InstanceType == nil {
   117  		return nil, errors.New("invalid value for required argument 'Ec2InstanceType'")
   118  	}
   119  	opts = internal.PkgResourceDefaultOpts(opts)
   120  	var resource Fleet
   121  	err := ctx.RegisterResource("aws:gamelift/fleet:Fleet", name, args, &resource, opts...)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &resource, nil
   126  }
   127  
   128  // GetFleet gets an existing Fleet resource's state with the given name, ID, and optional
   129  // state properties that are used to uniquely qualify the lookup (nil if not required).
   130  func GetFleet(ctx *pulumi.Context,
   131  	name string, id pulumi.IDInput, state *FleetState, opts ...pulumi.ResourceOption) (*Fleet, error) {
   132  	var resource Fleet
   133  	err := ctx.ReadResource("aws:gamelift/fleet:Fleet", name, id, state, &resource, opts...)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	return &resource, nil
   138  }
   139  
   140  // Input properties used for looking up and filtering Fleet resources.
   141  type fleetState struct {
   142  	// Fleet ARN.
   143  	Arn *string `pulumi:"arn"`
   144  	// Build ARN.
   145  	BuildArn *string `pulumi:"buildArn"`
   146  	// ID of the GameLift Build to be deployed on the fleet.
   147  	BuildId *string `pulumi:"buildId"`
   148  	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. See certificate_configuration.
   149  	CertificateConfiguration *FleetCertificateConfiguration `pulumi:"certificateConfiguration"`
   150  	// Human-readable description of the fleet.
   151  	Description *string `pulumi:"description"`
   152  	// Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.
   153  	Ec2InboundPermissions []FleetEc2InboundPermission `pulumi:"ec2InboundPermissions"`
   154  	// Name of an EC2 instance typeE.g., `t2.micro`
   155  	Ec2InstanceType *string `pulumi:"ec2InstanceType"`
   156  	// Type of fleet. This value must be `ON_DEMAND` or `SPOT`. Defaults to `ON_DEMAND`.
   157  	FleetType *string `pulumi:"fleetType"`
   158  	// ARN of an IAM role that instances in the fleet can assume.
   159  	InstanceRoleArn *string  `pulumi:"instanceRoleArn"`
   160  	LogPaths        []string `pulumi:"logPaths"`
   161  	// List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to `default`.
   162  	MetricGroups []string `pulumi:"metricGroups"`
   163  	// The name of the fleet.
   164  	Name *string `pulumi:"name"`
   165  	// Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`.
   166  	NewGameSessionProtectionPolicy *string `pulumi:"newGameSessionProtectionPolicy"`
   167  	// Operating system of the fleet's computing resources.
   168  	OperatingSystem *string `pulumi:"operatingSystem"`
   169  	// Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.
   170  	ResourceCreationLimitPolicy *FleetResourceCreationLimitPolicy `pulumi:"resourceCreationLimitPolicy"`
   171  	// Instructions for launching server processes on each instance in the fleet. See below.
   172  	RuntimeConfiguration *FleetRuntimeConfiguration `pulumi:"runtimeConfiguration"`
   173  	// Script ARN.
   174  	ScriptArn *string `pulumi:"scriptArn"`
   175  	// ID of the GameLift Script to be deployed on the fleet.
   176  	ScriptId *string `pulumi:"scriptId"`
   177  	// 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.
   178  	Tags map[string]string `pulumi:"tags"`
   179  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   180  	//
   181  	// Deprecated: Please use `tags` instead.
   182  	TagsAll map[string]string `pulumi:"tagsAll"`
   183  }
   184  
   185  type FleetState struct {
   186  	// Fleet ARN.
   187  	Arn pulumi.StringPtrInput
   188  	// Build ARN.
   189  	BuildArn pulumi.StringPtrInput
   190  	// ID of the GameLift Build to be deployed on the fleet.
   191  	BuildId pulumi.StringPtrInput
   192  	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. See certificate_configuration.
   193  	CertificateConfiguration FleetCertificateConfigurationPtrInput
   194  	// Human-readable description of the fleet.
   195  	Description pulumi.StringPtrInput
   196  	// Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.
   197  	Ec2InboundPermissions FleetEc2InboundPermissionArrayInput
   198  	// Name of an EC2 instance typeE.g., `t2.micro`
   199  	Ec2InstanceType pulumi.StringPtrInput
   200  	// Type of fleet. This value must be `ON_DEMAND` or `SPOT`. Defaults to `ON_DEMAND`.
   201  	FleetType pulumi.StringPtrInput
   202  	// ARN of an IAM role that instances in the fleet can assume.
   203  	InstanceRoleArn pulumi.StringPtrInput
   204  	LogPaths        pulumi.StringArrayInput
   205  	// List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to `default`.
   206  	MetricGroups pulumi.StringArrayInput
   207  	// The name of the fleet.
   208  	Name pulumi.StringPtrInput
   209  	// Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`.
   210  	NewGameSessionProtectionPolicy pulumi.StringPtrInput
   211  	// Operating system of the fleet's computing resources.
   212  	OperatingSystem pulumi.StringPtrInput
   213  	// Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.
   214  	ResourceCreationLimitPolicy FleetResourceCreationLimitPolicyPtrInput
   215  	// Instructions for launching server processes on each instance in the fleet. See below.
   216  	RuntimeConfiguration FleetRuntimeConfigurationPtrInput
   217  	// Script ARN.
   218  	ScriptArn pulumi.StringPtrInput
   219  	// ID of the GameLift Script to be deployed on the fleet.
   220  	ScriptId pulumi.StringPtrInput
   221  	// 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.
   222  	Tags pulumi.StringMapInput
   223  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   224  	//
   225  	// Deprecated: Please use `tags` instead.
   226  	TagsAll pulumi.StringMapInput
   227  }
   228  
   229  func (FleetState) ElementType() reflect.Type {
   230  	return reflect.TypeOf((*fleetState)(nil)).Elem()
   231  }
   232  
   233  type fleetArgs struct {
   234  	// ID of the GameLift Build to be deployed on the fleet.
   235  	BuildId *string `pulumi:"buildId"`
   236  	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. See certificate_configuration.
   237  	CertificateConfiguration *FleetCertificateConfiguration `pulumi:"certificateConfiguration"`
   238  	// Human-readable description of the fleet.
   239  	Description *string `pulumi:"description"`
   240  	// Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.
   241  	Ec2InboundPermissions []FleetEc2InboundPermission `pulumi:"ec2InboundPermissions"`
   242  	// Name of an EC2 instance typeE.g., `t2.micro`
   243  	Ec2InstanceType string `pulumi:"ec2InstanceType"`
   244  	// Type of fleet. This value must be `ON_DEMAND` or `SPOT`. Defaults to `ON_DEMAND`.
   245  	FleetType *string `pulumi:"fleetType"`
   246  	// ARN of an IAM role that instances in the fleet can assume.
   247  	InstanceRoleArn *string `pulumi:"instanceRoleArn"`
   248  	// List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to `default`.
   249  	MetricGroups []string `pulumi:"metricGroups"`
   250  	// The name of the fleet.
   251  	Name *string `pulumi:"name"`
   252  	// Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`.
   253  	NewGameSessionProtectionPolicy *string `pulumi:"newGameSessionProtectionPolicy"`
   254  	// Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.
   255  	ResourceCreationLimitPolicy *FleetResourceCreationLimitPolicy `pulumi:"resourceCreationLimitPolicy"`
   256  	// Instructions for launching server processes on each instance in the fleet. See below.
   257  	RuntimeConfiguration *FleetRuntimeConfiguration `pulumi:"runtimeConfiguration"`
   258  	// ID of the GameLift Script to be deployed on the fleet.
   259  	ScriptId *string `pulumi:"scriptId"`
   260  	// 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.
   261  	Tags map[string]string `pulumi:"tags"`
   262  }
   263  
   264  // The set of arguments for constructing a Fleet resource.
   265  type FleetArgs struct {
   266  	// ID of the GameLift Build to be deployed on the fleet.
   267  	BuildId pulumi.StringPtrInput
   268  	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. See certificate_configuration.
   269  	CertificateConfiguration FleetCertificateConfigurationPtrInput
   270  	// Human-readable description of the fleet.
   271  	Description pulumi.StringPtrInput
   272  	// Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.
   273  	Ec2InboundPermissions FleetEc2InboundPermissionArrayInput
   274  	// Name of an EC2 instance typeE.g., `t2.micro`
   275  	Ec2InstanceType pulumi.StringInput
   276  	// Type of fleet. This value must be `ON_DEMAND` or `SPOT`. Defaults to `ON_DEMAND`.
   277  	FleetType pulumi.StringPtrInput
   278  	// ARN of an IAM role that instances in the fleet can assume.
   279  	InstanceRoleArn pulumi.StringPtrInput
   280  	// List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to `default`.
   281  	MetricGroups pulumi.StringArrayInput
   282  	// The name of the fleet.
   283  	Name pulumi.StringPtrInput
   284  	// Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`.
   285  	NewGameSessionProtectionPolicy pulumi.StringPtrInput
   286  	// Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.
   287  	ResourceCreationLimitPolicy FleetResourceCreationLimitPolicyPtrInput
   288  	// Instructions for launching server processes on each instance in the fleet. See below.
   289  	RuntimeConfiguration FleetRuntimeConfigurationPtrInput
   290  	// ID of the GameLift Script to be deployed on the fleet.
   291  	ScriptId pulumi.StringPtrInput
   292  	// 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.
   293  	Tags pulumi.StringMapInput
   294  }
   295  
   296  func (FleetArgs) ElementType() reflect.Type {
   297  	return reflect.TypeOf((*fleetArgs)(nil)).Elem()
   298  }
   299  
   300  type FleetInput interface {
   301  	pulumi.Input
   302  
   303  	ToFleetOutput() FleetOutput
   304  	ToFleetOutputWithContext(ctx context.Context) FleetOutput
   305  }
   306  
   307  func (*Fleet) ElementType() reflect.Type {
   308  	return reflect.TypeOf((**Fleet)(nil)).Elem()
   309  }
   310  
   311  func (i *Fleet) ToFleetOutput() FleetOutput {
   312  	return i.ToFleetOutputWithContext(context.Background())
   313  }
   314  
   315  func (i *Fleet) ToFleetOutputWithContext(ctx context.Context) FleetOutput {
   316  	return pulumi.ToOutputWithContext(ctx, i).(FleetOutput)
   317  }
   318  
   319  // FleetArrayInput is an input type that accepts FleetArray and FleetArrayOutput values.
   320  // You can construct a concrete instance of `FleetArrayInput` via:
   321  //
   322  //	FleetArray{ FleetArgs{...} }
   323  type FleetArrayInput interface {
   324  	pulumi.Input
   325  
   326  	ToFleetArrayOutput() FleetArrayOutput
   327  	ToFleetArrayOutputWithContext(context.Context) FleetArrayOutput
   328  }
   329  
   330  type FleetArray []FleetInput
   331  
   332  func (FleetArray) ElementType() reflect.Type {
   333  	return reflect.TypeOf((*[]*Fleet)(nil)).Elem()
   334  }
   335  
   336  func (i FleetArray) ToFleetArrayOutput() FleetArrayOutput {
   337  	return i.ToFleetArrayOutputWithContext(context.Background())
   338  }
   339  
   340  func (i FleetArray) ToFleetArrayOutputWithContext(ctx context.Context) FleetArrayOutput {
   341  	return pulumi.ToOutputWithContext(ctx, i).(FleetArrayOutput)
   342  }
   343  
   344  // FleetMapInput is an input type that accepts FleetMap and FleetMapOutput values.
   345  // You can construct a concrete instance of `FleetMapInput` via:
   346  //
   347  //	FleetMap{ "key": FleetArgs{...} }
   348  type FleetMapInput interface {
   349  	pulumi.Input
   350  
   351  	ToFleetMapOutput() FleetMapOutput
   352  	ToFleetMapOutputWithContext(context.Context) FleetMapOutput
   353  }
   354  
   355  type FleetMap map[string]FleetInput
   356  
   357  func (FleetMap) ElementType() reflect.Type {
   358  	return reflect.TypeOf((*map[string]*Fleet)(nil)).Elem()
   359  }
   360  
   361  func (i FleetMap) ToFleetMapOutput() FleetMapOutput {
   362  	return i.ToFleetMapOutputWithContext(context.Background())
   363  }
   364  
   365  func (i FleetMap) ToFleetMapOutputWithContext(ctx context.Context) FleetMapOutput {
   366  	return pulumi.ToOutputWithContext(ctx, i).(FleetMapOutput)
   367  }
   368  
   369  type FleetOutput struct{ *pulumi.OutputState }
   370  
   371  func (FleetOutput) ElementType() reflect.Type {
   372  	return reflect.TypeOf((**Fleet)(nil)).Elem()
   373  }
   374  
   375  func (o FleetOutput) ToFleetOutput() FleetOutput {
   376  	return o
   377  }
   378  
   379  func (o FleetOutput) ToFleetOutputWithContext(ctx context.Context) FleetOutput {
   380  	return o
   381  }
   382  
   383  // Fleet ARN.
   384  func (o FleetOutput) Arn() pulumi.StringOutput {
   385  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   386  }
   387  
   388  // Build ARN.
   389  func (o FleetOutput) BuildArn() pulumi.StringOutput {
   390  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.BuildArn }).(pulumi.StringOutput)
   391  }
   392  
   393  // ID of the GameLift Build to be deployed on the fleet.
   394  func (o FleetOutput) BuildId() pulumi.StringPtrOutput {
   395  	return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.BuildId }).(pulumi.StringPtrOutput)
   396  }
   397  
   398  // Prompts GameLift to generate a TLS/SSL certificate for the fleet. See certificate_configuration.
   399  func (o FleetOutput) CertificateConfiguration() FleetCertificateConfigurationOutput {
   400  	return o.ApplyT(func(v *Fleet) FleetCertificateConfigurationOutput { return v.CertificateConfiguration }).(FleetCertificateConfigurationOutput)
   401  }
   402  
   403  // Human-readable description of the fleet.
   404  func (o FleetOutput) Description() pulumi.StringPtrOutput {
   405  	return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   406  }
   407  
   408  // Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.
   409  func (o FleetOutput) Ec2InboundPermissions() FleetEc2InboundPermissionArrayOutput {
   410  	return o.ApplyT(func(v *Fleet) FleetEc2InboundPermissionArrayOutput { return v.Ec2InboundPermissions }).(FleetEc2InboundPermissionArrayOutput)
   411  }
   412  
   413  // Name of an EC2 instance typeE.g., `t2.micro`
   414  func (o FleetOutput) Ec2InstanceType() pulumi.StringOutput {
   415  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.Ec2InstanceType }).(pulumi.StringOutput)
   416  }
   417  
   418  // Type of fleet. This value must be `ON_DEMAND` or `SPOT`. Defaults to `ON_DEMAND`.
   419  func (o FleetOutput) FleetType() pulumi.StringPtrOutput {
   420  	return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.FleetType }).(pulumi.StringPtrOutput)
   421  }
   422  
   423  // ARN of an IAM role that instances in the fleet can assume.
   424  func (o FleetOutput) InstanceRoleArn() pulumi.StringPtrOutput {
   425  	return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.InstanceRoleArn }).(pulumi.StringPtrOutput)
   426  }
   427  
   428  func (o FleetOutput) LogPaths() pulumi.StringArrayOutput {
   429  	return o.ApplyT(func(v *Fleet) pulumi.StringArrayOutput { return v.LogPaths }).(pulumi.StringArrayOutput)
   430  }
   431  
   432  // List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to `default`.
   433  func (o FleetOutput) MetricGroups() pulumi.StringArrayOutput {
   434  	return o.ApplyT(func(v *Fleet) pulumi.StringArrayOutput { return v.MetricGroups }).(pulumi.StringArrayOutput)
   435  }
   436  
   437  // The name of the fleet.
   438  func (o FleetOutput) Name() pulumi.StringOutput {
   439  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   440  }
   441  
   442  // Game session protection policy to apply to all instances in this fleetE.g., `FullProtection`. Defaults to `NoProtection`.
   443  func (o FleetOutput) NewGameSessionProtectionPolicy() pulumi.StringPtrOutput {
   444  	return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.NewGameSessionProtectionPolicy }).(pulumi.StringPtrOutput)
   445  }
   446  
   447  // Operating system of the fleet's computing resources.
   448  func (o FleetOutput) OperatingSystem() pulumi.StringOutput {
   449  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.OperatingSystem }).(pulumi.StringOutput)
   450  }
   451  
   452  // Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.
   453  func (o FleetOutput) ResourceCreationLimitPolicy() FleetResourceCreationLimitPolicyPtrOutput {
   454  	return o.ApplyT(func(v *Fleet) FleetResourceCreationLimitPolicyPtrOutput { return v.ResourceCreationLimitPolicy }).(FleetResourceCreationLimitPolicyPtrOutput)
   455  }
   456  
   457  // Instructions for launching server processes on each instance in the fleet. See below.
   458  func (o FleetOutput) RuntimeConfiguration() FleetRuntimeConfigurationPtrOutput {
   459  	return o.ApplyT(func(v *Fleet) FleetRuntimeConfigurationPtrOutput { return v.RuntimeConfiguration }).(FleetRuntimeConfigurationPtrOutput)
   460  }
   461  
   462  // Script ARN.
   463  func (o FleetOutput) ScriptArn() pulumi.StringOutput {
   464  	return o.ApplyT(func(v *Fleet) pulumi.StringOutput { return v.ScriptArn }).(pulumi.StringOutput)
   465  }
   466  
   467  // ID of the GameLift Script to be deployed on the fleet.
   468  func (o FleetOutput) ScriptId() pulumi.StringPtrOutput {
   469  	return o.ApplyT(func(v *Fleet) pulumi.StringPtrOutput { return v.ScriptId }).(pulumi.StringPtrOutput)
   470  }
   471  
   472  // 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.
   473  func (o FleetOutput) Tags() pulumi.StringMapOutput {
   474  	return o.ApplyT(func(v *Fleet) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   475  }
   476  
   477  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   478  //
   479  // Deprecated: Please use `tags` instead.
   480  func (o FleetOutput) TagsAll() pulumi.StringMapOutput {
   481  	return o.ApplyT(func(v *Fleet) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   482  }
   483  
   484  type FleetArrayOutput struct{ *pulumi.OutputState }
   485  
   486  func (FleetArrayOutput) ElementType() reflect.Type {
   487  	return reflect.TypeOf((*[]*Fleet)(nil)).Elem()
   488  }
   489  
   490  func (o FleetArrayOutput) ToFleetArrayOutput() FleetArrayOutput {
   491  	return o
   492  }
   493  
   494  func (o FleetArrayOutput) ToFleetArrayOutputWithContext(ctx context.Context) FleetArrayOutput {
   495  	return o
   496  }
   497  
   498  func (o FleetArrayOutput) Index(i pulumi.IntInput) FleetOutput {
   499  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Fleet {
   500  		return vs[0].([]*Fleet)[vs[1].(int)]
   501  	}).(FleetOutput)
   502  }
   503  
   504  type FleetMapOutput struct{ *pulumi.OutputState }
   505  
   506  func (FleetMapOutput) ElementType() reflect.Type {
   507  	return reflect.TypeOf((*map[string]*Fleet)(nil)).Elem()
   508  }
   509  
   510  func (o FleetMapOutput) ToFleetMapOutput() FleetMapOutput {
   511  	return o
   512  }
   513  
   514  func (o FleetMapOutput) ToFleetMapOutputWithContext(ctx context.Context) FleetMapOutput {
   515  	return o
   516  }
   517  
   518  func (o FleetMapOutput) MapIndex(k pulumi.StringInput) FleetOutput {
   519  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Fleet {
   520  		return vs[0].(map[string]*Fleet)[vs[1].(string)]
   521  	}).(FleetOutput)
   522  }
   523  
   524  func init() {
   525  	pulumi.RegisterInputType(reflect.TypeOf((*FleetInput)(nil)).Elem(), &Fleet{})
   526  	pulumi.RegisterInputType(reflect.TypeOf((*FleetArrayInput)(nil)).Elem(), FleetArray{})
   527  	pulumi.RegisterInputType(reflect.TypeOf((*FleetMapInput)(nil)).Elem(), FleetMap{})
   528  	pulumi.RegisterOutputType(FleetOutput{})
   529  	pulumi.RegisterOutputType(FleetArrayOutput{})
   530  	pulumi.RegisterOutputType(FleetMapOutput{})
   531  }