UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

199 lines (198 loc) 8.26 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * The AWS::GameLift::GameSessionQueue resource creates an Amazon GameLift (GameLift) game session queue. * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const queue = new aws_native.gamelift.GameSessionQueue("queue", { * name: "MyGameSessionQueue", * timeoutInSeconds: 60, * notificationTarget: "arn:aws:sns:us-west-2:111122223333:My_Placement_SNS_Topic", * destinations: [ * { * destinationArn: "arn:aws:gamelift:us-west-2:012345678912:fleet/fleet-id", * }, * { * destinationArn: "arn:aws:gamelift:us-west-2:012345678912:alias/alias-id", * }, * ], * playerLatencyPolicies: [{ * maximumIndividualPlayerLatencyMilliseconds: 1000, * policyDurationSeconds: 60, * }], * priorityConfiguration: { * locationOrder: [ * "us-west-2", * "us-east-1", * ], * priorityOrder: [ * aws_native.gamelift.GameSessionQueuePriorityOrderItem.Cost, * aws_native.gamelift.GameSessionQueuePriorityOrderItem.Latency, * aws_native.gamelift.GameSessionQueuePriorityOrderItem.Location, * aws_native.gamelift.GameSessionQueuePriorityOrderItem.Destination, * ], * }, * filterConfiguration: { * allowedLocations: [ * "us-east-1", * "us-west-2", * ], * }, * }); * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const queueResource = new aws_native.gamelift.GameSessionQueue("queueResource", {name: "MyGameSessionQueue"}); * const matchmakingRuleSetResource = new aws_native.gamelift.MatchmakingRuleSet("matchmakingRuleSetResource", { * name: "MyRuleSet", * ruleSetBody: "{\"name\": \"MyMatchmakingRuleSet\",\"ruleLanguageVersion\": \"1.0\", \"teams\": [{\"name\": \"MyTeam\",\"minPlayers\": 1,\"maxPlayers\": 20}]}", * }); * const matchmakingConfigurationResource = new aws_native.gamelift.MatchmakingConfiguration("matchmakingConfigurationResource", { * name: "MyMatchmakingConfiguration", * acceptanceRequired: true, * acceptanceTimeoutSeconds: 60, * additionalPlayerCount: 8, * backfillMode: aws_native.gamelift.MatchmakingConfigurationBackfillMode.Automatic, * customEventData: "MyCustomEventData", * description: "A basic matchmaking configuration for a GameLift-hosted game", * flexMatchMode: aws_native.gamelift.MatchmakingConfigurationFlexMatchMode.WithQueue, * gameSessionData: "MyGameSessionData", * gameProperties: [ * { * key: "level", * value: "10", * }, * { * key: "gameMode", * value: "hard", * }, * ], * gameSessionQueueArns: [queueResource.arn], * requestTimeoutSeconds: 100, * ruleSetName: matchmakingRuleSetResource.id, * }, { * dependsOn: [ * queueResource, * matchmakingRuleSetResource, * ], * }); * * ``` */ export declare class GameSessionQueue extends pulumi.CustomResource { /** * Get an existing GameSessionQueue resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GameSessionQueue; /** * Returns true if the given object is an instance of GameSessionQueue. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is GameSessionQueue; /** * The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift game session queue resource and uniquely identifies it. */ readonly arn: pulumi.Output<string>; /** * Information that is added to all events that are related to this game session queue. */ readonly customEventData: pulumi.Output<string | undefined>; /** * A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. */ readonly destinations: pulumi.Output<outputs.gamelift.GameSessionQueueDestination[] | undefined>; /** * A list of locations where a queue is allowed to place new game sessions. */ readonly filterConfiguration: pulumi.Output<outputs.gamelift.GameSessionQueueFilterConfiguration | undefined>; /** * A descriptive label that is associated with game session queue. Queue names must be unique within each Region. */ readonly name: pulumi.Output<string>; /** * An SNS topic ARN that is set up to receive game session placement notifications. */ readonly notificationTarget: pulumi.Output<string | undefined>; /** * A set of policies that act as a sliding cap on player latency. */ readonly playerLatencyPolicies: pulumi.Output<outputs.gamelift.GameSessionQueuePlayerLatencyPolicy[] | undefined>; /** * Custom settings to use when prioritizing destinations and locations for game session placements. */ readonly priorityConfiguration: pulumi.Output<outputs.gamelift.GameSessionQueuePriorityConfiguration | undefined>; /** * An array of key-value pairs to apply to this resource. */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * The maximum time, in seconds, that a new game session placement request remains in the queue. */ readonly timeoutInSeconds: pulumi.Output<number | undefined>; /** * Create a GameSessionQueue resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: GameSessionQueueArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a GameSessionQueue resource. */ export interface GameSessionQueueArgs { /** * Information that is added to all events that are related to this game session queue. */ customEventData?: pulumi.Input<string>; /** * A list of fleets and/or fleet aliases that can be used to fulfill game session placement requests in the queue. */ destinations?: pulumi.Input<pulumi.Input<inputs.gamelift.GameSessionQueueDestinationArgs>[]>; /** * A list of locations where a queue is allowed to place new game sessions. */ filterConfiguration?: pulumi.Input<inputs.gamelift.GameSessionQueueFilterConfigurationArgs>; /** * A descriptive label that is associated with game session queue. Queue names must be unique within each Region. */ name?: pulumi.Input<string>; /** * An SNS topic ARN that is set up to receive game session placement notifications. */ notificationTarget?: pulumi.Input<string>; /** * A set of policies that act as a sliding cap on player latency. */ playerLatencyPolicies?: pulumi.Input<pulumi.Input<inputs.gamelift.GameSessionQueuePlayerLatencyPolicyArgs>[]>; /** * Custom settings to use when prioritizing destinations and locations for game session placements. */ priorityConfiguration?: pulumi.Input<inputs.gamelift.GameSessionQueuePriorityConfigurationArgs>; /** * An array of key-value pairs to apply to this resource. */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; /** * The maximum time, in seconds, that a new game session placement request remains in the queue. */ timeoutInSeconds?: pulumi.Input<number>; }