@aws-cdk/aws-gamelift-alpha 2.53.0-alpha.0 → 2.55.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/alias.js ADDED
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Alias = exports.AliasBase = void 0;
5
+ const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
6
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
+ const cdk = require("aws-cdk-lib");
8
+ const aws_gamelift_1 = require("aws-cdk-lib/aws-gamelift");
9
+ /**
10
+ * Base class for new and imported GameLift Alias.
11
+ */
12
+ class AliasBase extends cdk.Resource {
13
+ /**
14
+ * The ARN to put into the destination field of a game session queue
15
+ */
16
+ get resourceArnForDestination() {
17
+ return this.aliasArn;
18
+ }
19
+ }
20
+ exports.AliasBase = AliasBase;
21
+ _a = JSII_RTTI_SYMBOL_1;
22
+ AliasBase[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.AliasBase", version: "2.55.0-alpha.0" };
23
+ /**
24
+ * A Amazon GameLift alias is used to abstract a fleet designation.
25
+ * Fleet designations tell GameLift where to search for available resources when creating new game sessions for players.
26
+ * Use aliases instead of specific fleet IDs to seamlessly switch player traffic from one fleet to another by changing the alias's target location.
27
+ *
28
+ * Aliases are useful in games that don't use queues.
29
+ * Switching fleets in a queue is a simple matter of creating a new fleet, adding it to the queue, and removing the old fleet, none of which is visible to players.
30
+ * In contrast, game clients that don't use queues must specify which fleet to use when communicating with the GameLift service.
31
+ * Without aliases, a fleet switch requires updates to your game code and possibly distribution of an updated game clients to players.
32
+ *
33
+ * When updating the fleet-id an alias points to, there is a transition period of up to 2 minutes where game sessions on the alias may end up on the old fleet.
34
+ *
35
+ * @see https://docs.aws.amazon.com/gamelift/latest/developerguide/aliases-creating.html
36
+ *
37
+ * @resource AWS::GameLift::Alias
38
+ */
39
+ class Alias extends AliasBase {
40
+ constructor(scope, id, props) {
41
+ super(scope, id, {
42
+ physicalName: props.aliasName,
43
+ });
44
+ try {
45
+ jsiiDeprecationWarnings._aws_cdk_aws_gamelift_alpha_AliasProps(props);
46
+ }
47
+ catch (error) {
48
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
49
+ Error.captureStackTrace(error, Alias);
50
+ }
51
+ throw error;
52
+ }
53
+ if (!cdk.Token.isUnresolved(props.aliasName)) {
54
+ if (props.aliasName.length > 1024) {
55
+ throw new Error(`Alias name can not be longer than 1024 characters but has ${props.aliasName.length} characters.`);
56
+ }
57
+ }
58
+ if (props.description && !cdk.Token.isUnresolved(props.description)) {
59
+ if (props.description.length > 1024) {
60
+ throw new Error(`Alias description can not be longer than 1024 characters but has ${props.description.length} characters.`);
61
+ }
62
+ }
63
+ if (!props.terminalMessage && !props.fleet) {
64
+ throw new Error('Either a terminal message or a fleet must be binded to this Alias.');
65
+ }
66
+ if (props.terminalMessage && props.fleet) {
67
+ throw new Error('Either a terminal message or a fleet must be binded to this Alias, not both.');
68
+ }
69
+ const resource = new aws_gamelift_1.CfnAlias(this, 'Resource', {
70
+ name: props.aliasName,
71
+ description: props.description,
72
+ routingStrategy: this.parseRoutingStrategy(props),
73
+ });
74
+ this.aliasId = this.getResourceNameAttribute(resource.ref);
75
+ this.aliasArn = cdk.Stack.of(scope).formatArn({
76
+ service: 'gamelift',
77
+ resource: 'alias',
78
+ resourceName: this.aliasId,
79
+ arnFormat: cdk.ArnFormat.SLASH_RESOURCE_NAME,
80
+ });
81
+ }
82
+ /**
83
+ * Import an existing alias from its identifier.
84
+ */
85
+ static fromAliasId(scope, id, aliasId) {
86
+ return this.fromAliasAttributes(scope, id, { aliasId: aliasId });
87
+ }
88
+ /**
89
+ * Import an existing alias from its ARN.
90
+ */
91
+ static fromAliasArn(scope, id, aliasArn) {
92
+ return this.fromAliasAttributes(scope, id, { aliasArn: aliasArn });
93
+ }
94
+ /**
95
+ * Import an existing alias from its attributes.
96
+ */
97
+ static fromAliasAttributes(scope, id, attrs) {
98
+ try {
99
+ jsiiDeprecationWarnings._aws_cdk_aws_gamelift_alpha_AliasAttributes(attrs);
100
+ }
101
+ catch (error) {
102
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
103
+ Error.captureStackTrace(error, this.fromAliasAttributes);
104
+ }
105
+ throw error;
106
+ }
107
+ if (!attrs.aliasId && !attrs.aliasArn) {
108
+ throw new Error('Either aliasId or aliasArn must be provided in AliasAttributes');
109
+ }
110
+ const aliasId = attrs.aliasId ??
111
+ cdk.Stack.of(scope).splitArn(attrs.aliasArn, cdk.ArnFormat.SLASH_RESOURCE_NAME).resourceName;
112
+ if (!aliasId) {
113
+ throw new Error(`No alias identifier found in ARN: '${attrs.aliasArn}'`);
114
+ }
115
+ const aliasArn = attrs.aliasArn ?? cdk.Stack.of(scope).formatArn({
116
+ service: 'gamelift',
117
+ resource: 'alias',
118
+ resourceName: attrs.aliasId,
119
+ arnFormat: cdk.ArnFormat.SLASH_RESOURCE_NAME,
120
+ });
121
+ class Import extends AliasBase {
122
+ constructor(s, i) {
123
+ super(s, i, {
124
+ environmentFromArn: aliasArn,
125
+ });
126
+ this.aliasId = aliasId;
127
+ this.aliasArn = aliasArn;
128
+ }
129
+ }
130
+ return new Import(scope, id);
131
+ }
132
+ parseRoutingStrategy(props) {
133
+ if (props.fleet) {
134
+ return {
135
+ fleetId: props.fleet.fleetId,
136
+ type: 'SIMPLE',
137
+ };
138
+ }
139
+ return {
140
+ message: props.terminalMessage,
141
+ type: 'TERMINAL',
142
+ };
143
+ }
144
+ }
145
+ exports.Alias = Alias;
146
+ _b = JSII_RTTI_SYMBOL_1;
147
+ Alias[_b] = { fqn: "@aws-cdk/aws-gamelift-alpha.Alias", version: "2.55.0-alpha.0" };
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbGlhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBbUM7QUFJbkMsMkRBQW9EO0FBNkZwRDs7R0FFRztBQUNILE1BQXNCLFNBQVUsU0FBUSxHQUFHLENBQUMsUUFBUTtJQVNsRDs7T0FFRztJQUNILElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztLQUN0Qjs7QUFkSCw4QkFlQzs7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsU0FBUztJQWdFbEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFpQjtRQUN6RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUztTQUM5QixDQUFDLENBQUM7Ozs7OzsrQ0FuRU0sS0FBSzs7OztRQXFFZCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzVDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFO2dCQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUM7YUFDcEg7U0FDRjtRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNuRSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtnQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBb0UsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO2FBQzdIO1NBQ0Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFD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QUFRLEdBQUcsUUFBUSxDQUFDO1lBTXBDLENBQUM7U0FDRjtRQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlCO0lBeURPLG9CQUFvQixDQUFDLEtBQWlCO1FBQzVDLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRztZQUNoQixPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQzVCLElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQztTQUNIO1FBQ0QsT0FBTztZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsZUFBZTtZQUM5QixJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDO0tBQ0g7O0FBbkhILHNCQW9IQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElGbGVldCB9IGZyb20gJy4vZmxlZXQtYmFzZSc7XG5pbXBvcnQgeyBJR2FtZVNlc3Npb25RdWV1ZURlc3RpbmF0aW9uIH0gZnJvbSAnLi9nYW1lLXNlc3Npb24tcXVldWUnO1xuaW1wb3J0IHsgQ2ZuQWxpYXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2FtZWxpZnQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBHYW1lbGlmdCBBbGlhcyBmb3IgYSBHYW1lbGlmdCBmbGVldCBkZXN0aW5hdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWxpYXMgZXh0ZW5kcyBjZGsuSVJlc291cmNlLCBJR2FtZVNlc3Npb25RdWV1ZURlc3RpbmF0aW9uIHtcblxuICAvKipcbiAgICAgKiBUaGUgSWRlbnRpZmllciBvZiB0aGUgYWxpYXMuXG4gICAgICpcbiAgICAgKiBAYXR0cmlidXRlXG4gICAgICovXG4gIHJlYWRvbmx5IGFsaWFzSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWxpYXMuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzQXJuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYGdhbWVsaWZ0LkFsaWFzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGlhc09wdGlvbnMge1xuICAvKipcbiAgICAgKiBEZXNjcmlwdGlvbiBmb3IgdGhlIGFsaWFzXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBObyBkZXNjcmlwdGlvblxuICAgICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGZ1bGwgc3BlY2lmaWNhdGlvbiBvZiBhbiBhbGlhcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGltcG9ydCBpdCBmbHVlbnRseSBpbnRvIHRoZSBDREsgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxpYXNBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAgICAgKiBUaGUgQVJOIG9mIHRoZSBhbGlhc1xuICAgICAgICpcbiAgICAgICAqIEF0IGxlYXN0IG9uZSBvZiBgYWxpYXNBcm5gIGFuZCBgYWxpYXNJZGAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICAgICAqXG4gICAgICAgKiBAZGVmYXVsdCBkZXJpdmVkIGZyb20gYGFsaWFzSWRgLlxuICAgICAgICovXG4gIHJlYWRvbmx5IGFsaWFzQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhbGlhc1xuICAgICAqXG4gICAgICogQXQgbGVhc3Qgb25lIG9mIGBhbGlhc0lkYCBhbmQgYGFsaWFzQXJuYCAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGRlcml2ZWQgZnJvbSBgYWxpYXNBcm5gLlxuICAgICAqL1xuICByZWFkb25seSBhbGlhc0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IEZsZWV0IGFsaWFzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxpYXNQcm9wcyB7XG4gIC8qKlxuICAgICAqIE5hbWUgb2YgdGhpcyBhbGlhc1xuICAgICAqL1xuICByZWFkb25seSBhbGlhc05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBBIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBhbGlhc1xuICAgICAqXG4gICAgICogQGRlZmF1bHQgbm8gZGVzY3JpcHRpb25cbiAgICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZmxlZXQgdGhhdCB0aGUgYWxpYXMgcG9pbnRzIHRvLlxuICAgKiBJZiBzcGVjaWZpZWQsIHRoZSBhbGlhcyByZXNvbHZlcyB0byBvbmUgc3BlY2lmaWMgZmxlZXQuXG4gICAqXG4gICAqIEF0IGxlYXN0IG9uZSBvZiBgZmxlZXRgIGFuZCBgdGVybWluYWxNZXNzYWdlYCBtdXN0IGJlIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBmbGVldCB0aGF0IHRoZSBhbGlhcyBwb2ludHMgdG8uXG4gICAqL1xuICByZWFkb25seSBmbGVldD86IElGbGVldDtcblxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgdGV4dCB0byBiZSB1c2VkIHdpdGggYSB0ZXJtaW5hbCByb3V0aW5nIHN0cmF0ZWd5LlxuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgYGZsZWV0YCBhbmQgYHRlcm1pbmFsTWVzc2FnZWAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gdGVybWluYWwgbWVzc2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgdGVybWluYWxNZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIG5ldyBhbmQgaW1wb3J0ZWQgR2FtZUxpZnQgQWxpYXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbGlhc0Jhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJQWxpYXMge1xuICAvKipcbiAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSBhbGlhcy5cbiAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWxpYXNJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWxpYXNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhbGlhc0Fybjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFSTiB0byBwdXQgaW50byB0aGUgZGVzdGluYXRpb24gZmllbGQgb2YgYSBnYW1lIHNlc3Npb24gcXVldWVcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VBcm5Gb3JEZXN0aW5hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5hbGlhc0FybjtcbiAgfVxufVxuXG4vKipcbiAqIEEgQW1hem9uIEdhbWVMaWZ0IGFsaWFzIGlzIHVzZWQgdG8gYWJzdHJhY3QgYSBmbGVldCBkZXNpZ25hdGlvbi5cbiAqIEZsZWV0IGRlc2lnbmF0aW9ucyB0ZWxsIEdhbWVMaWZ0IHdoZXJlIHRvIHNlYXJjaCBmb3IgYXZhaWxhYmxlIHJlc291cmNlcyB3aGVuIGNyZWF0aW5nIG5ldyBnYW1lIHNlc3Npb25zIGZvciBwbGF5ZXJzLlxuICogVXNlIGFsaWFzZXMgaW5zdGVhZCBvZiBzcGVjaWZpYyBmbGVldCBJRHMgdG8gc2VhbWxlc3NseSBzd2l0Y2ggcGxheWVyIHRyYWZmaWMgZnJvbSBvbmUgZmxlZXQgdG8gYW5vdGhlciBieSBjaGFuZ2luZyB0aGUgYWxpYXMncyB0YXJnZXQgbG9jYXRpb24uXG4gKlxuICogQWxpYXNlcyBhcmUgdXNlZnVsIGluIGdhbWVzIHRoYXQgZG9uJ3QgdXNlIHF1ZXVlcy5cbiAqIFN3aXRjaGluZyBmbGVldHMgaW4gYSBxdWV1ZSBpcyBhIHNpbXBsZSBtYXR0ZXIgb2YgY3JlYXRpbmcgYSBuZXcgZmxlZXQsIGFkZGluZyBpdCB0byB0aGUgcXVldWUsIGFuZCByZW1vdmluZyB0aGUgb2xkIGZsZWV0LCBub25lIG9mIHdoaWNoIGlzIHZpc2libGUgdG8gcGxheWVycy5cbiAqIEluIGNvbnRyYXN0LCBnYW1lIGNsaWVudHMgdGhhdCBkb24ndCB1c2UgcXVldWVzIG11c3Qgc3BlY2lmeSB3aGljaCBmbGVldCB0byB1c2Ugd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIEdhbWVMaWZ0IHNlcnZpY2UuXG4gKiBXaXRob3V0IGFsaWFzZXMsIGEgZmxlZXQgc3dpdGNoIHJlcXVpcmVzIHVwZGF0ZXMgdG8geW91ciBnYW1lIGNvZGUgYW5kIHBvc3NpYmx5IGRpc3RyaWJ1dGlvbiBvZiBhbiB1cGRhdGVkIGdhbWUgY2xpZW50cyB0byBwbGF5ZXJzLlxuICpcbiAqIFdoZW4gdXBkYXRpbmcgdGhlIGZsZWV0LWlkIGFuIGFsaWFzIHBvaW50cyB0bywgdGhlcmUgaXMgYSB0cmFuc2l0aW9uIHBlcmlvZCBvZiB1cCB0byAyIG1pbnV0ZXMgd2hlcmUgZ2FtZSBzZXNzaW9ucyBvbiB0aGUgYWxpYXMgbWF5IGVuZCB1cCBvbiB0aGUgb2xkIGZsZWV0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9hbGlhc2VzLWNyZWF0aW5nLmh0bWxcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpHYW1lTGlmdDo6QWxpYXNcbiAqL1xuZXhwb3J0IGNsYXNzIEFsaWFzIGV4dGVuZHMgQWxpYXNCYXNlIHtcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGFsaWFzIGZyb20gaXRzIGlkZW50aWZpZXIuXG4gICAqL1xuICBzdGF0aWMgZnJvbUFsaWFzSWQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYWxpYXNJZDogc3RyaW5nKTogSUFsaWFzIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQWxpYXNBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBhbGlhc0lkOiBhbGlhc0lkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBhbGlhcyBmcm9tIGl0cyBBUk4uXG4gICAqL1xuICBzdGF0aWMgZnJvbUFsaWFzQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGFsaWFzQXJuOiBzdHJpbmcpOiBJQWxpYXMge1xuICAgIHJldHVybiB0aGlzLmZyb21BbGlhc0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IGFsaWFzQXJuOiBhbGlhc0FybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgYWxpYXMgZnJvbSBpdHMgYXR0cmlidXRlcy5cbiAgICovXG4gIHN0YXRpYyBmcm9tQWxpYXNBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBBbGlhc0F0dHJpYnV0ZXMpOiBJQWxpYXMge1xuICAgIGlmICghYXR0cnMuYWxpYXNJZCAmJiAhYXR0cnMuYWxpYXNBcm4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIGFsaWFzSWQgb3IgYWxpYXNBcm4gbXVzdCBiZSBwcm92aWRlZCBpbiBBbGlhc0F0dHJpYnV0ZXMnKTtcbiAgICB9XG4gICAgY29uc3QgYWxpYXNJZCA9IGF0dHJzLmFsaWFzSWQgPz9cbiAgICAgIGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYXR0cnMuYWxpYXNBcm4hLCBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZTtcblxuICAgIGlmICghYWxpYXNJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBhbGlhcyBpZGVudGlmaWVyIGZvdW5kIGluIEFSTjogJyR7YXR0cnMuYWxpYXNBcm59J2ApO1xuICAgIH1cblxuICAgIGNvbnN0IGFsaWFzQXJuID0gYXR0cnMuYWxpYXNBcm4gPz8gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dhbWVsaWZ0JyxcbiAgICAgIHJlc291cmNlOiAnYWxpYXMnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBhdHRycy5hbGlhc0lkLFxuICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQWxpYXNCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhbGlhc0lkID0gYWxpYXNJZCE7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYWxpYXNBcm4gPSBhbGlhc0FybjtcblxuICAgICAgY29uc3RydWN0b3IoczogQ29uc3RydWN0LCBpOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocywgaSwge1xuICAgICAgICAgIGVudmlyb25tZW50RnJvbUFybjogYWxpYXNBcm4sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSBhbGlhcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhbGlhc0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgKiBUaGUgQVJOIG9mIHRoZSBhbGlhcy5cbiAgICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYWxpYXNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQSBmbGVldCB0aGF0IHRoZSBhbGlhcyBwb2ludHMgdG8uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmxlZXQ/OiBJRmxlZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFsaWFzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuYWxpYXNOYW1lLFxuICAgIH0pO1xuXG4gICAgaWYgKCFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmFsaWFzTmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5hbGlhc05hbWUubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFsaWFzIG5hbWUgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmFsaWFzTmFtZS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSkge1xuICAgICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBbGlhcyBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghcHJvcHMudGVybWluYWxNZXNzYWdlICYmICFwcm9wcy5mbGVldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgYSB0ZXJtaW5hbCBtZXNzYWdlIG9yIGEgZmxlZXQgbXVzdCBiZSBiaW5kZWQgdG8gdGhpcyBBbGlhcy4nKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudGVybWluYWxNZXNzYWdlICYmIHByb3BzLmZsZWV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBhIHRlcm1pbmFsIG1lc3NhZ2Ugb3IgYSBmbGVldCBtdXN0IGJlIGJpbmRlZCB0byB0aGlzIEFsaWFzLCBub3QgYm90aC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5BbGlhcyh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5hbGlhc05hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICByb3V0aW5nU3RyYXRlZ3k6IHRoaXMucGFyc2VSb3V0aW5nU3RyYXRlZ3kocHJvcHMpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hbGlhc0lkID0gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUocmVzb3VyY2UucmVmKTtcbiAgICB0aGlzLmFsaWFzQXJuID0gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dhbWVsaWZ0JyxcbiAgICAgIHJlc291cmNlOiAnYWxpYXMnLFxuICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLmFsaWFzSWQsXG4gICAgICBhcm5Gb3JtYXQ6IGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VSb3V0aW5nU3RyYXRlZ3kocHJvcHM6IEFsaWFzUHJvcHMpOiBDZm5BbGlhcy5Sb3V0aW5nU3RyYXRlZ3lQcm9wZXJ0eSB7XG4gICAgaWYgKHByb3BzLmZsZWV0ICkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmxlZXRJZDogcHJvcHMuZmxlZXQuZmxlZXRJZCxcbiAgICAgICAgdHlwZTogJ1NJTVBMRScsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZTogcHJvcHMudGVybWluYWxNZXNzYWdlLFxuICAgICAgdHlwZTogJ1RFUk1JTkFMJyxcbiAgICB9O1xuICB9XG59XG5cbiJdfQ==
@@ -151,5 +151,5 @@ class BuildFleet extends fleet_base_1.FleetBase {
151
151
  }
152
152
  exports.BuildFleet = BuildFleet;
153
153
  _a = JSII_RTTI_SYMBOL_1;
154
- BuildFleet[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.BuildFleet", version: "2.53.0-alpha.0" };
154
+ BuildFleet[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.BuildFleet", version: "2.55.0-alpha.0" };
155
155
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZmxlZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC1mbGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBR25DLDZDQUE2RDtBQUM3RCwyREFBb0Q7QUErQnBEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBMkN2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FBQztRQUxZLGlCQUFZLEdBQWtCLEVBQUUsQ0FBQzs7Ozs7OytDQXpDdkMsVUFBVTs7OztRQWdEbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM1QyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO2FBQ3BIO1NBQ0Y7UUFFRCxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbkUsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUU7Z0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxjQUFjLENBQUMsQ0FBQzthQUM3SDtTQUNGO1FBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0ZB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bmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElCdWlsZCB9IGZyb20gJy4vYnVpbGQnO1xuaW1wb3J0IHsgRmxlZXRCYXNlLCBGbGVldFByb3BzLCBJRmxlZXQgfSBmcm9tICcuL2ZsZWV0LWJhc2UnO1xuaW1wb3J0IHsgQ2ZuRmxlZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2FtZWxpZnQnO1xuaW1wb3J0IHsgUG9ydCwgSVBlZXIsIEluZ3Jlc3NSdWxlIH0gZnJvbSAnLi9pbmdyZXNzLXJ1bGUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBHYW1lTGlmdCBGbGVldCB1c2VkIHRvIHJ1biBhIGN1c3RvbSBnYW1lIGJ1aWxkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCdWlsZEZsZWV0IGV4dGVuZHMgSUZsZWV0IHt9XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgR2FtZWxpZnQgYnVpbGQgZmxlZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZEZsZWV0UHJvcHMgZXh0ZW5kcyBGbGVldFByb3BzIHtcblxuICAvKipcbiAgICAgKiBBIGJ1aWxkIHRvIGJlIGRlcGxveWVkIG9uIHRoZSBmbGVldC5cbiAgICAgKiBUaGUgYnVpbGQgbXVzdCBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHVwbG9hZGVkIHRvIEFtYXpvbiBHYW1lTGlmdCBhbmQgYmUgaW4gYSBgUkVBRFlgIHN0YXR1cy5cbiAgICAgKlxuICAgICAqIFRoaXMgZmxlZXQgc2V0dGluZyBjYW5ub3QgYmUgY2hhbmdlZCBvbmNlIHRoZSBmbGVldCBpcyBjcmVhdGVkLlxuICAgICAqL1xuICByZWFkb25seSBjb250ZW50OiBJQnVpbGQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGxvd2VkIElQIGFkZHJlc3MgcmFuZ2VzIGFuZCBwb3J0IHNldHRpbmdzIHRoYXQgYWxsb3cgaW5ib3VuZCB0cmFmZmljIHRvIGFjY2VzcyBnYW1lIHNlc3Npb25zIG9uIHRoaXMgZmxlZXQuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgbXVzdCBiZSBzZXQgYmVmb3JlIHBsYXllcnMgY2FuIGNvbm5lY3QgdG8gZ2FtZSBzZXNzaW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gaW5ib3VuZCB0cmFmZmljIGFsbG93ZWRcbiAgICovXG4gIHJlYWRvbmx5IGluZ3Jlc3NSdWxlcz86IEluZ3Jlc3NSdWxlW107XG59XG5cbi8qKlxuICogQSBmbGVldCBjb250YWlucyBBbWF6b24gRWxhc3RpYyBDb21wdXRlIENsb3VkIChBbWF6b24gRUMyKSBpbnN0YW5jZXMgdGhhdCBHYW1lTGlmdCBob3N0cy5cbiAqIEEgZmxlZXQgdXNlcyB0aGUgY29uZmlndXJhdGlvbiBhbmQgc2NhbGluZyBsb2dpYyB0aGF0IHlvdSBkZWZpbmUgdG8gcnVuIHlvdXIgZ2FtZSBzZXJ2ZXIgYnVpbGQuIFlvdSBjYW4gdXNlIGEgZmxlZXQgZGlyZWN0bHkgd2l0aG91dCBhIHF1ZXVlLlxuICogWW91IGNhbiBhbHNvIGFzc29jaWF0ZSBtdWx0aXBsZSBmbGVldHMgd2l0aCBhIEdhbWVMaWZ0IHF1ZXVlLlxuICpcbiAqIEZvciBleGFtcGxlLCB5b3UgY2FuIHVzZSBTcG90IEluc3RhbmNlIGZsZWV0cyBjb25maWd1cmVkIHdpdGggeW91ciBwcmVmZXJyZWQgbG9jYXRpb25zLCBhbG9uZyB3aXRoIGEgYmFja3VwIE9uLURlbWFuZCBJbnN0YW5jZSBmbGVldCB3aXRoIHRoZSBzYW1lIGxvY2F0aW9ucy5cbiAqIFVzaW5nIG11bHRpcGxlIFNwb3QgSW5zdGFuY2UgZmxlZXRzIG9mIGRpZmZlcmVudCBpbnN0YW5jZSB0eXBlcyByZWR1Y2VzIHRoZSBjaGFuY2Ugb2YgbmVlZGluZyBPbi1EZW1hbmQgSW5zdGFuY2UgcGxhY2VtZW50LlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkdhbWVMaWZ0OjpGbGVldFxuICovXG5leHBvcnQgY2xhc3MgQnVpbGRGbGVldCBleHRlbmRzIEZsZWV0QmFzZSBpbXBsZW1lbnRzIElCdWlsZEZsZWV0IHtcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGZsZWV0IGZyb20gaXRzIGlkZW50aWZpZXIuXG4gICAqL1xuICBzdGF0aWMgZnJvbUJ1aWxkRmxlZXRJZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWlsZEZsZWV0SWQ6IHN0cmluZyk6IElCdWlsZEZsZWV0IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tRmxlZXRBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBmbGVldElkOiBidWlsZEZsZWV0SWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGZsZWV0IGZyb20gaXRzIEFSTi5cbiAgICovXG4gIHN0YXRpYyBmcm9tQnVpbGRGbGVldEFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWlsZEZsZWV0QXJuOiBzdHJpbmcpOiBJQnVpbGRGbGVldCB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUZsZWV0QXR0cmlidXRlcyhzY29wZSwgaWQsIHsgZmxlZXRBcm46IGJ1aWxkRmxlZXRBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGZsZWV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZsZWV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZmxlZXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmxlZXRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1aWxkIGNvbnRlbnQgb2YgdGhlIGZsZWV0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudDogSUJ1aWxkO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgR2FtZUxpZnQgYXNzdW1lcyBieSBmbGVldCBpbnN0YW5jZXMgdG8gYWNjZXNzIEFXUyByZXNzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIHByaW5jaXBhbCB0aGlzIEdhbWVMaWZ0IGZsZWV0IGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGluZ3Jlc3NSdWxlczogSW5ncmVzc1J1bGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWlsZEZsZWV0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuZmxlZXROYW1lLFxuICAgIH0pO1xuXG4gICAgaWYgKCFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmZsZWV0TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5mbGVldE5hbWUubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZsZWV0IG5hbWUgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmZsZWV0TmFtZS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSkge1xuICAgICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGbGVldCBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5taW5TaXplICYmIHByb3BzLm1pblNpemUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgYWxsb3dlZCBpbiB0aGUgRmxlZXQgY2Fubm90IGJlIGxvd2VyIHRoYW4gMCwgZ2l2ZW4gJHtwcm9wcy5taW5TaXplfWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXhTaXplICYmIHByb3BzLm1heFNpemUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgYWxsb3dlZCBpbiB0aGUgRmxlZXQgY2Fubm90IGJlIGxvd2VyIHRoYW4gMCwgZ2l2ZW4gJHtwcm9wcy5tYXhTaXplfWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5wZWVyVnBjKSB7XG4gICAgICB0aGlzLndhcm5WcGNQZWVyaW5nQXV0aG9yaXphdGlvbnModGhpcyk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGFsbCBsb2NhdGlvbnNcbiAgICBpZiAocHJvcHMubG9jYXRpb25zICYmIHByb3BzLmxvY2F0aW9ucz8ubGVuZ3RoID4gMTAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vcmUgdGhhbiAxMDAgbG9jYXRpb25zIGFyZSBhbGxvd2VkIHBlciBmbGVldCwgZ2l2ZW4gJHtwcm9wcy5sb2NhdGlvbnMubGVuZ3RofWApO1xuICAgIH1cbiAgICAocHJvcHMubG9jYXRpb25zIHx8IFtdKS5mb3JFYWNoKHRoaXMuYWRkSW50ZXJuYWxMb2NhdGlvbi5iaW5kKHRoaXMpKTtcblxuXG4gICAgLy8gQWRkIGFsbCBJbmdyZXNzIHJ1bGVzXG4gICAgaWYgKHByb3BzLmluZ3Jlc3NSdWxlcyAmJiBwcm9wcy5pbmdyZXNzUnVsZXM/Lmxlbmd0aCA+IDUwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vcmUgdGhhbiA1MCBpbmdyZXNzIHJ1bGVzIGFyZSBhbGxvd2VkIHBlciBmbGVldCwgZ2l2ZW4gJHtwcm9wcy5pbmdyZXNzUnVsZXMubGVuZ3RofWApO1xuICAgIH1cbiAgICAocHJvcHMuaW5ncmVzc1J1bGVzIHx8IFtdKS5mb3JFYWNoKHRoaXMuYWRkSW50ZXJuYWxJbmdyZXNzUnVsZS5iaW5kKHRoaXMpKTtcblxuICAgIHRoaXMuY29udGVudCA9IHByb3BzLmNvbnRlbnQ7XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZSA/PyBuZXcgaWFtLlJvbGUodGhpcywgJ1NlcnZpY2VSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLkNvbXBvc2l0ZVByaW5jaXBhbChcbiAgICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdnYW1lbGlmdC5hbWF6b25hd3MuY29tJyksXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZWMyLmFtYXpvbmF3cy5jb20nKSksXG4gICAgfSk7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXMucm9sZTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkZsZWV0KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGJ1aWxkSWQ6IHRoaXMuY29udGVudC5idWlsZElkLFxuICAgICAgY2VydGlmaWNhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGNlcnRpZmljYXRlVHlwZTogcHJvcHMudXNlQ2VydGlmaWNhdGUgPyAnR0VORVJBVEVEJzogJ0RJU0FCTEVEJyxcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBkZXNpcmVkRWMySW5zdGFuY2VzOiBwcm9wcy5kZXNpcmVkQ2FwYWNpdHksXG4gICAgICBlYzJJbmJvdW5kUGVybWlzc2lvbnM6IGNkay5MYXp5LmFueSh7IHByb2R1Y2U6ICgpID0+IHRoaXMucGFyc2VJbmdyZXNzUnVsZXMoKSB9KSxcbiAgICAgIGVjMkluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCksXG4gICAgICBmbGVldFR5cGU6IHByb3BzLnVzZVNwb3QgPyAnU1BPVCcgOiAnT05fREVNQU5EJyxcbiAgICAgIGluc3RhbmNlUm9sZUFybjogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICBsb2NhdGlvbnM6IGNkay5MYXp5LmFueSh7IHByb2R1Y2U6ICgpID0+IHRoaXMucGFyc2VMb2NhdGlvbnMoKSB9KSxcbiAgICAgIG1heFNpemU6IHByb3BzLm1heFNpemUgPyBwcm9wcy5tYXhTaXplIDogMSxcbiAgICAgIG1pblNpemU6IHByb3BzLm1pblNpemUgPyBwcm9wcy5taW5TaXplIDogMCxcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgbmV3R2FtZVNlc3Npb25Qcm90ZWN0aW9uUG9saWN5OiBwcm9wcy5wcm90ZWN0TmV3R2FtZVNlc3Npb24gPyAnRnVsbFByb3RlY3Rpb24nIDogJ05vUHJvdGVjdGlvbicsXG4gICAgICBwZWVyVnBjQXdzQWNjb3VudElkOiBwcm9wcy5wZWVyVnBjICYmIHByb3BzLnBlZXJWcGMuZW52LmFjY291bnQsXG4gICAgICBwZWVyVnBjSWQ6IHByb3BzLnBlZXJWcGMgJiYgcHJvcHMucGVlclZwYy52cGNJZCxcbiAgICAgIHJlc291cmNlQ3JlYXRpb25MaW1pdFBvbGljeTogdGhpcy5wYXJzZVJlc291cmNlQ3JlYXRpb25MaW1pdFBvbGljeShwcm9wcyksXG4gICAgICBydW50aW1lQ29uZmlndXJhdGlvbjogdGhpcy5wYXJzZVJ1bnRpbWVDb25maWd1cmF0aW9uKHByb3BzKSxcbiAgICB9KTtcblxuICAgIHRoaXMuZmxlZXRJZCA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHJlc291cmNlLnJlZik7XG4gICAgdGhpcy5mbGVldEFybiA9IGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnYW1lbGlmdCcsXG4gICAgICByZXNvdXJjZTogJ2ZsZWV0JyxcbiAgICAgIHJlc291cmNlTmFtZTogdGhpcy5mbGVldElkLFxuICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBpbmdyZXNzIHJ1bGUgdG8gYWxsb3cgaW5ib3VuZCB0cmFmZmljIHRvIGFjY2VzcyBnYW1lIHNlc3Npb25zIG9uIHRoaXMgZmxlZXQuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2UgQSByYW5nZSBvZiBhbGxvd2VkIElQIGFkZHJlc3Nlc1xuICAgKiBAcGFyYW0gcG9ydCBUaGUgcG9ydCByYW5nZSB1c2VkIGZvciBpbmdyZXNzIHRyYWZmaWNcbiAgICovXG4gIHB1YmxpYyBhZGRJbmdyZXNzUnVsZShzb3VyY2U6IElQZWVyLCBwb3J0OiBQb3J0KSB7XG4gICAgdGhpcy5hZGRJbnRlcm5hbEluZ3Jlc3NSdWxlKHtcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgcG9ydDogcG9ydCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkSW50ZXJuYWxJbmdyZXNzUnVsZShpbmdyZXNzUnVsZTogSW5ncmVzc1J1bGUpIHtcbiAgICBpZiAodGhpcy5pbmdyZXNzUnVsZXMubGVuZ3RoID09IDUwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIG1vcmUgdGhhbiA1MCBpbmdyZXNzIHJ1bGVzIGFyZSBhbGxvd2VkIHBlciBmbGVldCcpO1xuICAgIH1cbiAgICB0aGlzLmluZ3Jlc3NSdWxlcy5wdXNoKGluZ3Jlc3NSdWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VJbmdyZXNzUnVsZXMoKTogQ2ZuRmxlZXQuSXBQZXJtaXNzaW9uUHJvcGVydHlbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLmluZ3Jlc3NSdWxlcyB8fCB0aGlzLmluZ3Jlc3NSdWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW5ncmVzc1J1bGVzLm1hcChwYXJzZUluZ3Jlc3NSdWxlKTtcblxuICAgIGZ1bmN0aW9uIHBhcnNlSW5ncmVzc1J1bGUoaW5ncmVzc1J1bGU6IEluZ3Jlc3NSdWxlKTogQ2ZuRmxlZXQuSXBQZXJtaXNzaW9uUHJvcGVydHkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5ncmVzc1J1bGUucG9ydC50b0pzb24oKSxcbiAgICAgICAgLi4uaW5ncmVzc1J1bGUuc291cmNlLnRvSnNvbigpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn0iXX0=
package/lib/build.d.ts CHANGED
@@ -20,6 +20,12 @@ export interface IBuild extends cdk.IResource, iam.IGrantable {
20
20
  * @attribute
21
21
  */
22
22
  readonly buildId: string;
23
+ /**
24
+ * The ARN of the build
25
+ *
26
+ * @attribute
27
+ */
28
+ readonly buildArn: string;
23
29
  }
24
30
  /**
25
31
  * Base class for new and imported GameLift server build.
@@ -29,6 +35,10 @@ export declare abstract class BuildBase extends cdk.Resource implements IBuild {
29
35
  * The Identifier of the build.
30
36
  */
31
37
  abstract readonly buildId: string;
38
+ /**
39
+ * The ARN of the build.
40
+ */
41
+ abstract readonly buildArn: string;
32
42
  abstract readonly grantPrincipal: iam.IPrincipal;
33
43
  }
34
44
  /**
@@ -44,12 +54,24 @@ export declare enum OperatingSystem {
44
54
  */
45
55
  export interface BuildAttributes {
46
56
  /**
47
- * The identifier of the build
57
+ * The ARN of the build
58
+ *
59
+ * At least one of `buildArn` and `buildId` must be provided.
60
+ *
61
+ * @default derived from `buildId`.
48
62
  */
49
- readonly buildId: string;
63
+ readonly buildArn?: string;
64
+ /**
65
+ * The identifier of the build
66
+ *
67
+ * At least one of `buildId` and `buildArn` must be provided.
68
+ *
69
+ * @default derived from `buildArn`.
70
+ */
71
+ readonly buildId?: string;
50
72
  /**
51
73
  * The IAM role assumed by GameLift to access server build in S3.
52
- * @default - undefined
74
+ * @default the imported fleet cannot be granted access to other resources as an `iam.IGrantable`.
53
75
  */
54
76
  readonly role?: iam.IRole;
55
77
  }
@@ -123,6 +145,10 @@ export declare class Build extends BuildBase {
123
145
  * Import a build into CDK using its identifier
124
146
  */
125
147
  static fromBuildId(scope: Construct, id: string, buildId: string): IBuild;
148
+ /**
149
+ * Import a build into CDK using its ARN
150
+ */
151
+ static fromBuildArn(scope: Construct, id: string, buildArn: string): IBuild;
126
152
  /**
127
153
  * Import an existing build from its attributes.
128
154
  */
@@ -131,6 +157,10 @@ export declare class Build extends BuildBase {
131
157
  * The Identifier of the build.
132
158
  */
133
159
  readonly buildId: string;
160
+ /**
161
+ * The ARN of the build.
162
+ */
163
+ readonly buildArn: string;
134
164
  /**
135
165
  * The IAM role GameLift assumes to acccess server build content.
136
166
  */
package/lib/build.js CHANGED
@@ -15,7 +15,7 @@ class BuildBase extends cdk.Resource {
15
15
  }
16
16
  exports.BuildBase = BuildBase;
17
17
  _a = JSII_RTTI_SYMBOL_1;
18
- BuildBase[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.BuildBase", version: "2.53.0-alpha.0" };
18
+ BuildBase[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.BuildBase", version: "2.55.0-alpha.0" };
19
19
  /**
20
20
  * The operating system that the game server binaries are built to run on.
21
21
  */
@@ -69,7 +69,13 @@ class Build extends BuildBase {
69
69
  },
70
70
  });
71
71
  resource.node.addDependency(this.role);
72
- this.buildId = resource.ref;
72
+ this.buildId = this.getResourceNameAttribute(resource.ref);
73
+ this.buildArn = cdk.Stack.of(scope).formatArn({
74
+ service: 'gamelift',
75
+ resource: 'build',
76
+ resourceName: this.buildId,
77
+ arnFormat: cdk.ArnFormat.SLASH_RESOURCE_NAME,
78
+ });
73
79
  }
74
80
  /**
75
81
  * Create a new Build from s3 content
@@ -93,6 +99,12 @@ class Build extends BuildBase {
93
99
  static fromBuildId(scope, id, buildId) {
94
100
  return this.fromBuildAttributes(scope, id, { buildId });
95
101
  }
102
+ /**
103
+ * Import a build into CDK using its ARN
104
+ */
105
+ static fromBuildArn(scope, id, buildArn) {
106
+ return this.fromBuildAttributes(scope, id, { buildArn });
107
+ }
96
108
  /**
97
109
  * Import an existing build from its attributes.
98
110
  */
@@ -106,11 +118,29 @@ class Build extends BuildBase {
106
118
  }
107
119
  throw error;
108
120
  }
121
+ if (!attrs.buildId && !attrs.buildArn) {
122
+ throw new Error('Either buildId or buildArn must be provided in BuildAttributes');
123
+ }
124
+ const buildId = attrs.buildId ??
125
+ cdk.Stack.of(scope).splitArn(attrs.buildArn, cdk.ArnFormat.SLASH_RESOURCE_NAME).resourceName;
126
+ if (!buildId) {
127
+ throw new Error(`No build identifier found in ARN: '${attrs.buildArn}'`);
128
+ }
129
+ const buildArn = attrs.buildArn ?? cdk.Stack.of(scope).formatArn({
130
+ service: 'gamelift',
131
+ resource: 'build',
132
+ resourceName: attrs.buildId,
133
+ arnFormat: cdk.ArnFormat.SLASH_RESOURCE_NAME,
134
+ });
109
135
  class Import extends BuildBase {
110
- constructor() {
111
- super(...arguments);
112
- this.buildId = attrs.buildId;
136
+ constructor(s, i) {
137
+ super(s, i, {
138
+ environmentFromArn: buildArn,
139
+ });
140
+ this.buildId = buildId;
141
+ this.buildArn = buildArn;
113
142
  this.grantPrincipal = attrs.role ?? new iam.UnknownPrincipal({ resource: this });
143
+ this.role = attrs.role;
114
144
  }
115
145
  }
116
146
  return new Import(scope, id);
@@ -118,5 +148,5 @@ class Build extends BuildBase {
118
148
  }
119
149
  exports.Build = Build;
120
150
  _b = JSII_RTTI_SYMBOL_1;
121
- Build[_b] = { fqn: "@aws-cdk/aws-gamelift-alpha.Build", version: "2.53.0-alpha.0" };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBMkM7QUFHM0MsbUNBQW1DO0FBRW5DLHVDQUFvQztBQUNwQywyREFBb0Q7QUFxQnBEOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLEdBQUcsQ0FBQyxRQUFROztBQUFwRCw4QkFPQzs7O0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsZ0RBQTZCLENBQUE7SUFDN0Isb0RBQWlDLENBQUE7SUFDakMsZ0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUpXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBSTFCO0FBd0VEOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxTQUFTO0lBc0RsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlCO1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FBQzs7Ozs7OytDQXpETSxLQUFLOzs7O1FBMkRkLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvRCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO2FBQ3BIO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDMUQsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDO1NBQzlELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBELE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzlDLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUztZQUNyQixPQUFPLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDM0IsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVU7Z0JBQzNELEdBQUcsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUztnQkFDdkQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhO2dCQUNyRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2FBQzNCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztLQUM3QjtJQXBGRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBa0IsRUFBRSxHQUFXLEVBQUUsYUFBc0I7UUFDckcsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzFCLE9BQU8sRUFBRSxpQkFBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQztTQUN4RCxDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxJQUFZLEVBQUUsT0FBZ0M7UUFDM0YsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzFCLE9BQU8sRUFBRSxpQkFBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO1NBQzFDLENBQUMsQ0FBQztLQUNKO0lBRUQ7O1NBRUs7SUFDTCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE9BQWU7UUFDOUQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDekQ7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjs7Ozs7Ozs7OztRQUM3RSxNQUFNLE1BQU8sU0FBUSxTQUFTO1lBQTlCOztnQkFDa0IsWUFBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7Z0JBQ3hCLG1CQUFjLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzlGLENBQUM7U0FBQTtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlCOztBQXJDSCxzQkF5RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNfYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gJy4vY29udGVudCc7XG5pbXBvcnQgeyBDZm5CdWlsZCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nYW1lbGlmdCc7XG5cbi8qKlxuICogWW91ciBjdXN0b20tYnVpbHQgZ2FtZSBzZXJ2ZXIgc29mdHdhcmUgdGhhdCBydW5zIG9uIEdhbWVMaWZ0IGFuZCBob3N0cyBnYW1lIHNlc3Npb25zIGZvciB5b3VyIHBsYXllcnMuXG4gKiBBIGdhbWUgYnVpbGQgcmVwcmVzZW50cyB0aGUgc2V0IG9mIGZpbGVzIHRoYXQgcnVuIHlvdXIgZ2FtZSBzZXJ2ZXIgb24gYSBwYXJ0aWN1bGFyIG9wZXJhdGluZyBzeXN0ZW0uXG4gKiBZb3UgY2FuIGhhdmUgbWFueSBkaWZmZXJlbnQgYnVpbGRzLCBzdWNoIGFzIGZvciBkaWZmZXJlbnQgZmxhdm9ycyBvZiB5b3VyIGdhbWUuXG4gKiBUaGUgZ2FtZSBidWlsZCBtdXN0IGJlIGludGVncmF0ZWQgd2l0aCB0aGUgR2FtZUxpZnQgc2VydmljZS5cbiAqIFlvdSB1cGxvYWQgZ2FtZSBidWlsZCBmaWxlcyB0byB0aGUgR2FtZUxpZnQgc2VydmljZSBpbiB0aGUgUmVnaW9ucyB3aGVyZSB5b3UgcGxhbiB0byBzZXQgdXAgZmxlZXRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9nYW1lbGlmdC1idWlsZC1jbGktdXBsb2FkaW5nLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnVpbGQgZXh0ZW5kcyBjZGsuSVJlc291cmNlLCBpYW0uSUdyYW50YWJsZSB7XG5cbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSBidWlsZC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIG5ldyBhbmQgaW1wb3J0ZWQgR2FtZUxpZnQgc2VydmVyIGJ1aWxkLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQnVpbGRCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSUJ1aWxkIHtcbiAgLyoqXG4gICAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGJ1aWxkLlxuICAgICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG59XG5cbi8qKlxuICogVGhlIG9wZXJhdGluZyBzeXN0ZW0gdGhhdCB0aGUgZ2FtZSBzZXJ2ZXIgYmluYXJpZXMgYXJlIGJ1aWx0IHRvIHJ1biBvbi5cbiAqL1xuZXhwb3J0IGVudW0gT3BlcmF0aW5nU3lzdGVtIHtcbiAgQU1BWk9OX0xJTlVYID0gJ0FNQVpPTl9MSU5VWCcsXG4gIEFNQVpPTl9MSU5VWF8yID0gJ0FNQVpPTl9MSU5VWF8yJyxcbiAgV0lORE9XU18yMDEyID0gJ1dJTkRPV1NfMjAxMidcbn1cblxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBCdWlsZCBjb250ZW50IGRlZmluZWQgb3V0c2lkZSBvZiB0aGlzIHN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBidWlsZFxuICAgICAqL1xuICByZWFkb25seSBidWlsZElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgYXNzdW1lZCBieSBHYW1lTGlmdCB0byBhY2Nlc3Mgc2VydmVyIGJ1aWxkIGluIFMzLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIG5ldyBidWlsZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkUHJvcHMge1xuICAvKipcbiAgICAgKiBOYW1lIG9mIHRoaXMgYnVpbGRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IE5vIG5hbWVcbiAgICAgKi9cbiAgcmVhZG9ubHkgYnVpbGROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFZlcnNpb24gb2YgdGhpcyBidWlsZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgTm8gdmVyc2lvblxuICAgICAqL1xuICByZWFkb25seSBidWlsZFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogVGhlIG9wZXJhdGluZyBzeXN0ZW0gdGhhdCB0aGUgZ2FtZSBzZXJ2ZXIgYmluYXJpZXMgYXJlIGJ1aWx0IHRvIHJ1biBvbi5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IE5vIHZlcnNpb25cbiAgICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW5nU3lzdGVtPzogT3BlcmF0aW5nU3lzdGVtO1xuXG4gIC8qKlxuICAgICAqIFRoZSBnYW1lIGJ1aWxkIGZpbGUgc3RvcmFnZVxuICAgICAqL1xuICByZWFkb25seSBjb250ZW50OiBDb250ZW50O1xuXG4gIC8qKlxuICAgICogVGhlIElBTSByb2xlIGFzc3VtZWQgYnkgR2FtZUxpZnQgdG8gYWNjZXNzIHNlcnZlciBidWlsZCBpbiBTMy5cbiAgICAqIElmIHByb3ZpZGluZyBhIGN1c3RvbSByb2xlLCBpdCBuZWVkcyB0byB0cnVzdCB0aGUgR2FtZUxpZnQgc2VydmljZSBwcmluY2lwYWwgKGdhbWVsaWZ0LmFtYXpvbmF3cy5jb20pIGFuZCBiZSBncmFudGVkIHN1ZmZpY2llbnQgcGVybWlzc2lvbnNcbiAgICAqIHRvIGhhdmUgUmVhZCBhY2Nlc3MgdG8gYSBzcGVjaWZpYyBrZXkgY29udGVudCBpbnRvIGEgc3BlY2lmaWMgUzMgYnVja2V0LlxuICAgICogQmVsb3cgYW4gZXhhbXBsZSBvZiByZXF1aXJlZCBwZXJtaXNzaW9uOlxuICAgICoge1xuICAgICogIFwiVmVyc2lvblwiOiBcIjIwMTItMTAtMTdcIixcbiAgICAqICBcIlN0YXRlbWVudFwiOiBbe1xuICAgICogICAgICAgIFwiRWZmZWN0XCI6IFwiQWxsb3dcIixcbiAgICAqICAgICAgICBcIkFjdGlvblwiOiBbXG4gICAgKiAgICAgICAgICAgIFwiczM6R2V0T2JqZWN0XCIsXG4gICAgKiAgICAgICAgICAgIFwiczM6R2V0T2JqZWN0VmVyc2lvblwiXG4gICAgKiAgICAgICAgXSxcbiAgICAqICAgICAgICBcIlJlc291cmNlXCI6IFwiYXJuOmF3czpzMzo6OmJ1Y2tldC1uYW1lL29iamVjdC1uYW1lXCJcbiAgICAqICB9XVxuICAgICp9XG4gICAgKlxuICAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3NlY3VyaXR5X2lhbV9pZC1iYXNlZC1wb2xpY3ktZXhhbXBsZXMuaHRtbCNzZWN1cml0eV9pYW1faWQtYmFzZWQtcG9saWN5LWV4YW1wbGVzLWFjY2Vzcy1zdG9yYWdlLWxvY1xuICAgICpcbiAgICAqIEBkZWZhdWx0IC0gYSByb2xlIHdpbGwgYmUgY3JlYXRlZCB3aXRoIGRlZmF1bHQgcGVybWlzc2lvbnMuXG4gICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbn1cblxuLyoqXG4gKiBBIEdhbWVMaWZ0IGJ1aWxkLCB0aGF0IGlzIGluc3RhbGxlZCBhbmQgcnVucyBvbiBpbnN0YW5jZXMgaW4gYW4gQW1hem9uIEdhbWVMaWZ0IGZsZWV0LiBJdCBjb25zaXN0cyBvZlxuICogYSB6aXAgZmlsZSB3aXRoIGFsbCBvZiB0aGUgY29tcG9uZW50cyBvZiB0aGUgZ2FtZSBzZXJ2ZXIgYnVpbGQuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2dhbWVsaWZ0LWJ1aWxkLWNsaS11cGxvYWRpbmcuaHRtbFxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkdhbWVMaWZ0OjpCdWlsZFxuICovXG5leHBvcnQgY2xhc3MgQnVpbGQgZXh0ZW5kcyBCdWlsZEJhc2Uge1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgQnVpbGQgZnJvbSBzMyBjb250ZW50XG4gICAqL1xuICBzdGF0aWMgZnJvbUJ1Y2tldChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWNrZXQ6IHMzLklCdWNrZXQsIGtleTogc3RyaW5nLCBvYmplY3RWZXJzaW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBCdWlsZChzY29wZSwgaWQsIHtcbiAgICAgIGNvbnRlbnQ6IENvbnRlbnQuZnJvbUJ1Y2tldChidWNrZXQsIGtleSwgb2JqZWN0VmVyc2lvbiksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IEJ1aWxkIGZyb20gYXNzZXQgY29udGVudFxuICAgKi9cbiAgc3RhdGljIGZyb21Bc3NldChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBzM19hc3NldHMuQXNzZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBCdWlsZChzY29wZSwgaWQsIHtcbiAgICAgIGNvbnRlbnQ6IENvbnRlbnQuZnJvbUFzc2V0KHBhdGgsIG9wdGlvbnMpLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAgICogSW1wb3J0IGEgYnVpbGQgaW50byBDREsgdXNpbmcgaXRzIGlkZW50aWZpZXJcbiAgICAgKi9cbiAgc3RhdGljIGZyb21CdWlsZElkKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGJ1aWxkSWQ6IHN0cmluZyk6IElCdWlsZCB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUJ1aWxkQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgYnVpbGRJZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgYnVpbGQgZnJvbSBpdHMgYXR0cmlidXRlcy5cbiAgICovXG4gIHN0YXRpYyBmcm9tQnVpbGRBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBCdWlsZEF0dHJpYnV0ZXMpOiBJQnVpbGQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEJ1aWxkQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYnVpbGRJZCA9IGF0dHJzLmJ1aWxkSWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWwgPSBhdHRycy5yb2xlID8/IG5ldyBpYW0uVW5rbm93blByaW5jaXBhbCh7IHJlc291cmNlOiB0aGlzIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGJ1aWxkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1aWxkSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIEdhbWVMaWZ0IGFzc3VtZXMgdG8gYWNjY2VzcyBzZXJ2ZXIgYnVpbGQgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmluY2lwYWwgdGhpcyBHYW1lTGlmdCBCdWlsZCBpcyB1c2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1aWxkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuYnVpbGROYW1lLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmJ1aWxkTmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5idWlsZE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnVpbGROYW1lLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBCdWlsZCBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5idWlsZE5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGUgPz8gbmV3IGlhbS5Sb2xlKHRoaXMsICdTZXJ2aWNlUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdnYW1lbGlmdC5hbWF6b25hd3MuY29tJyksXG4gICAgfSk7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXMucm9sZTtcbiAgICBjb25zdCBjb250ZW50ID0gcHJvcHMuY29udGVudC5iaW5kKHRoaXMsIHRoaXMucm9sZSk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5CdWlsZCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5idWlsZE5hbWUsXG4gICAgICB2ZXJzaW9uOiBwcm9wcy5idWlsZFZlcnNpb24sXG4gICAgICBvcGVyYXRpbmdTeXN0ZW06IHByb3BzLm9wZXJhdGluZ1N5c3RlbSxcbiAgICAgIHN0b3JhZ2VMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXQ6IGNvbnRlbnQuczNMb2NhdGlvbiAmJiBjb250ZW50LnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICAga2V5OiBjb250ZW50LnMzTG9jYXRpb24gJiYgY29udGVudC5zM0xvY2F0aW9uLm9iamVjdEtleSxcbiAgICAgICAgb2JqZWN0VmVyc2lvbjogY29udGVudC5zM0xvY2F0aW9uICYmIGNvbnRlbnQuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uLFxuICAgICAgICByb2xlQXJuOiB0aGlzLnJvbGUucm9sZUFybixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5yb2xlKTtcblxuICAgIHRoaXMuYnVpbGRJZCA9IHJlc291cmNlLnJlZjtcbiAgfVxuXG5cbn1cbiJdfQ==
151
+ Build[_b] = { fqn: "@aws-cdk/aws-gamelift-alpha.Build", version: "2.55.0-alpha.0" };
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBMkM7QUFHM0MsbUNBQW1DO0FBRW5DLHVDQUFvQztBQUNwQywyREFBb0Q7QUE0QnBEOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLEdBQUcsQ0FBQyxRQUFROztBQUFwRCw4QkFXQzs7O0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGVBSVg7QUFKRCxXQUFZLGVBQWU7SUFDekIsZ0RBQTZCLENBQUE7SUFDN0Isb0RBQWlDLENBQUE7SUFDakMsZ0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUpXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBSTFCO0FBcUZEOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxTQUFTO0lBeUZsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlCO1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTO1NBQzlCLENBQUMsQ0FBQzs7Ozs7OytDQTVGTSxLQUFLOzs7O1FBOEZkLElBQUksS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvRCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRTtnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO2FBQ3BIO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDMUQsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFD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QkFrSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNfYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gJy4vY29udGVudCc7XG5pbXBvcnQgeyBDZm5CdWlsZCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nYW1lbGlmdCc7XG5cbi8qKlxuICogWW91ciBjdXN0b20tYnVpbHQgZ2FtZSBzZXJ2ZXIgc29mdHdhcmUgdGhhdCBydW5zIG9uIEdhbWVMaWZ0IGFuZCBob3N0cyBnYW1lIHNlc3Npb25zIGZvciB5b3VyIHBsYXllcnMuXG4gKiBBIGdhbWUgYnVpbGQgcmVwcmVzZW50cyB0aGUgc2V0IG9mIGZpbGVzIHRoYXQgcnVuIHlvdXIgZ2FtZSBzZXJ2ZXIgb24gYSBwYXJ0aWN1bGFyIG9wZXJhdGluZyBzeXN0ZW0uXG4gKiBZb3UgY2FuIGhhdmUgbWFueSBkaWZmZXJlbnQgYnVpbGRzLCBzdWNoIGFzIGZvciBkaWZmZXJlbnQgZmxhdm9ycyBvZiB5b3VyIGdhbWUuXG4gKiBUaGUgZ2FtZSBidWlsZCBtdXN0IGJlIGludGVncmF0ZWQgd2l0aCB0aGUgR2FtZUxpZnQgc2VydmljZS5cbiAqIFlvdSB1cGxvYWQgZ2FtZSBidWlsZCBmaWxlcyB0byB0aGUgR2FtZUxpZnQgc2VydmljZSBpbiB0aGUgUmVnaW9ucyB3aGVyZSB5b3UgcGxhbiB0byBzZXQgdXAgZmxlZXRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9nYW1lbGlmdC1idWlsZC1jbGktdXBsb2FkaW5nLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnVpbGQgZXh0ZW5kcyBjZGsuSVJlc291cmNlLCBpYW0uSUdyYW50YWJsZSB7XG5cbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSBidWlsZC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBidWlsZFxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBidWlsZEFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIG5ldyBhbmQgaW1wb3J0ZWQgR2FtZUxpZnQgc2VydmVyIGJ1aWxkLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQnVpbGRCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSUJ1aWxkIHtcbiAgLyoqXG4gICAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGJ1aWxkLlxuICAgICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xuICAvKipcbiAgICAgKiBUaGUgQVJOIG9mIHRoZSBidWlsZC5cbiAgICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGJ1aWxkQXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcbn1cblxuLyoqXG4gKiBUaGUgb3BlcmF0aW5nIHN5c3RlbSB0aGF0IHRoZSBnYW1lIHNlcnZlciBiaW5hcmllcyBhcmUgYnVpbHQgdG8gcnVuIG9uLlxuICovXG5leHBvcnQgZW51bSBPcGVyYXRpbmdTeXN0ZW0ge1xuICBBTUFaT05fTElOVVggPSAnQU1BWk9OX0xJTlVYJyxcbiAgQU1BWk9OX0xJTlVYXzIgPSAnQU1BWk9OX0xJTlVYXzInLFxuICBXSU5ET1dTXzIwMTIgPSAnV0lORE9XU18yMDEyJ1xufVxuXG5cbi8qKlxuICogUmVwcmVzZW50cyBhIEJ1aWxkIGNvbnRlbnQgZGVmaW5lZCBvdXRzaWRlIG9mIHRoaXMgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAgICogVGhlIEFSTiBvZiB0aGUgYnVpbGRcbiAgICAgKlxuICAgICAqIEF0IGxlYXN0IG9uZSBvZiBgYnVpbGRBcm5gIGFuZCBgYnVpbGRJZGAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IGRlcml2ZWQgZnJvbSBgYnVpbGRJZGAuXG4gICAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGJ1aWxkXG4gICAgKlxuICAgICogQXQgbGVhc3Qgb25lIG9mIGBidWlsZElkYCBhbmQgYGJ1aWxkQXJuYCAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICAqXG4gICAgKiBAZGVmYXVsdCBkZXJpdmVkIGZyb20gYGJ1aWxkQXJuYC5cbiAgICAqL1xuICByZWFkb25seSBidWlsZElkPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIElBTSByb2xlIGFzc3VtZWQgYnkgR2FtZUxpZnQgdG8gYWNjZXNzIHNlcnZlciBidWlsZCBpbiBTMy5cbiAgICogQGRlZmF1bHQgdGhlIGltcG9ydGVkIGZsZWV0IGNhbm5vdCBiZSBncmFudGVkIGFjY2VzcyB0byBvdGhlciByZXNvdXJjZXMgYXMgYW4gYGlhbS5JR3JhbnRhYmxlYC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgYnVpbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZFByb3BzIHtcbiAgLyoqXG4gICAgICogTmFtZSBvZiB0aGlzIGJ1aWxkXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBObyBuYW1lXG4gICAgICovXG4gIHJlYWRvbmx5IGJ1aWxkTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICAgKiBWZXJzaW9uIG9mIHRoaXMgYnVpbGRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IE5vIHZlcnNpb25cbiAgICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBvcGVyYXRpbmcgc3lzdGVtIHRoYXQgdGhlIGdhbWUgc2VydmVyIGJpbmFyaWVzIGFyZSBidWlsdCB0byBydW4gb24uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBObyB2ZXJzaW9uXG4gICAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGluZ1N5c3RlbT86IE9wZXJhdGluZ1N5c3RlbTtcblxuICAvKipcbiAgICAgKiBUaGUgZ2FtZSBidWlsZCBmaWxlIHN0b3JhZ2VcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogQ29udGVudDtcblxuICAvKipcbiAgICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IEdhbWVMaWZ0IHRvIGFjY2VzcyBzZXJ2ZXIgYnVpbGQgaW4gUzMuXG4gICAgKiBJZiBwcm92aWRpbmcgYSBjdXN0b20gcm9sZSwgaXQgbmVlZHMgdG8gdHJ1c3QgdGhlIEdhbWVMaWZ0IHNlcnZpY2UgcHJpbmNpcGFsIChnYW1lbGlmdC5hbWF6b25hd3MuY29tKSBhbmQgYmUgZ3JhbnRlZCBzdWZmaWNpZW50IHBlcm1pc3Npb25zXG4gICAgKiB0byBoYXZlIFJlYWQgYWNjZXNzIHRvIGEgc3BlY2lmaWMga2V5IGNvbnRlbnQgaW50byBhIHNwZWNpZmljIFMzIGJ1Y2tldC5cbiAgICAqIEJlbG93IGFuIGV4YW1wbGUgb2YgcmVxdWlyZWQgcGVybWlzc2lvbjpcbiAgICAqIHtcbiAgICAqICBcIlZlcnNpb25cIjogXCIyMDEyLTEwLTE3XCIsXG4gICAgKiAgXCJTdGF0ZW1lbnRcIjogW3tcbiAgICAqICAgICAgICBcIkVmZmVjdFwiOiBcIkFsbG93XCIsXG4gICAgKiAgICAgICAgXCJBY3Rpb25cIjogW1xuICAgICogICAgICAgICAgICBcInMzOkdldE9iamVjdFwiLFxuICAgICogICAgICAgICAgICBcInMzOkdldE9iamVjdFZlcnNpb25cIlxuICAgICogICAgICAgIF0sXG4gICAgKiAgICAgICAgXCJSZXNvdXJjZVwiOiBcImFybjphd3M6czM6OjpidWNrZXQtbmFtZS9vYmplY3QtbmFtZVwiXG4gICAgKiAgfV1cbiAgICAqfVxuICAgICpcbiAgICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9zZWN1cml0eV9pYW1faWQtYmFzZWQtcG9saWN5LWV4YW1wbGVzLmh0bWwjc2VjdXJpdHlfaWFtX2lkLWJhc2VkLXBvbGljeS1leGFtcGxlcy1hY2Nlc3Mtc3RvcmFnZS1sb2NcbiAgICAqXG4gICAgKiBAZGVmYXVsdCAtIGEgcm9sZSB3aWxsIGJlIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IHBlcm1pc3Npb25zLlxuICAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogQSBHYW1lTGlmdCBidWlsZCwgdGhhdCBpcyBpbnN0YWxsZWQgYW5kIHJ1bnMgb24gaW5zdGFuY2VzIGluIGFuIEFtYXpvbiBHYW1lTGlmdCBmbGVldC4gSXQgY29uc2lzdHMgb2ZcbiAqIGEgemlwIGZpbGUgd2l0aCBhbGwgb2YgdGhlIGNvbXBvbmVudHMgb2YgdGhlIGdhbWUgc2VydmVyIGJ1aWxkLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9nYW1lbGlmdC1idWlsZC1jbGktdXBsb2FkaW5nLmh0bWxcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpHYW1lTGlmdDo6QnVpbGRcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWxkIGV4dGVuZHMgQnVpbGRCYXNlIHtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IEJ1aWxkIGZyb20gczMgY29udGVudFxuICAgKi9cbiAgc3RhdGljIGZyb21CdWNrZXQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYnVja2V0OiBzMy5JQnVja2V0LCBrZXk6IHN0cmluZywgb2JqZWN0VmVyc2lvbj86IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgQnVpbGQoc2NvcGUsIGlkLCB7XG4gICAgICBjb250ZW50OiBDb250ZW50LmZyb21CdWNrZXQoYnVja2V0LCBrZXksIG9iamVjdFZlcnNpb24pLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBCdWlsZCBmcm9tIGFzc2V0IGNvbnRlbnRcbiAgICovXG4gIHN0YXRpYyBmcm9tQXNzZXQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcHRpb25zPzogczNfYXNzZXRzLkFzc2V0T3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQnVpbGQoc2NvcGUsIGlkLCB7XG4gICAgICBjb250ZW50OiBDb250ZW50LmZyb21Bc3NldChwYXRoLCBvcHRpb25zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgICAqIEltcG9ydCBhIGJ1aWxkIGludG8gQ0RLIHVzaW5nIGl0cyBpZGVudGlmaWVyXG4gICAgICovXG4gIHN0YXRpYyBmcm9tQnVpbGRJZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWlsZElkOiBzdHJpbmcpOiBJQnVpbGQge1xuICAgIHJldHVybiB0aGlzLmZyb21CdWlsZEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IGJ1aWxkSWQgfSk7XG4gIH1cblxuICAvKipcbiAgICAgKiBJbXBvcnQgYSBidWlsZCBpbnRvIENESyB1c2luZyBpdHMgQVJOXG4gICAgICovXG4gIHN0YXRpYyBmcm9tQnVpbGRBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYnVpbGRBcm46IHN0cmluZyk6IElCdWlsZCB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUJ1aWxkQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgYnVpbGRBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGJ1aWxkIGZyb20gaXRzIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbUJ1aWxkQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogQnVpbGRBdHRyaWJ1dGVzKTogSUJ1aWxkIHtcbiAgICBpZiAoIWF0dHJzLmJ1aWxkSWQgJiYgIWF0dHJzLmJ1aWxkQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBidWlsZElkIG9yIGJ1aWxkQXJuIG11c3QgYmUgcHJvdmlkZWQgaW4gQnVpbGRBdHRyaWJ1dGVzJyk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkSWQgPSBhdHRycy5idWlsZElkID8/XG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKGF0dHJzLmJ1aWxkQXJuISwgY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWU7XG5cbiAgICBpZiAoIWJ1aWxkSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gYnVpbGQgaWRlbnRpZmllciBmb3VuZCBpbiBBUk46ICcke2F0dHJzLmJ1aWxkQXJufSdgKTtcbiAgICB9XG5cbiAgICBjb25zdCBidWlsZEFybiA9IGF0dHJzLmJ1aWxkQXJuID8/IGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnYW1lbGlmdCcsXG4gICAgICByZXNvdXJjZTogJ2J1aWxkJyxcbiAgICAgIHJlc291cmNlTmFtZTogYXR0cnMuYnVpbGRJZCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEJ1aWxkQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYnVpbGRJZCA9IGJ1aWxkSWQhO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGJ1aWxkQXJuID0gYnVpbGRBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWwgPSBhdHRycy5yb2xlID8/IG5ldyBpYW0uVW5rbm93blByaW5jaXBhbCh7IHJlc291cmNlOiB0aGlzIH0pO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHJvbGUgPSBhdHRycy5yb2xlO1xuXG4gICAgICBjb25zdHJ1Y3RvcihzOiBDb25zdHJ1Y3QsIGk6IHN0cmluZykge1xuICAgICAgICBzdXBlcihzLCBpLCB7XG4gICAgICAgICAgZW52aXJvbm1lbnRGcm9tQXJuOiBidWlsZEFybixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGJ1aWxkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJ1aWxkSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYnVpbGQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVpbGRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIEdhbWVMaWZ0IGFzc3VtZXMgdG8gYWNjY2VzcyBzZXJ2ZXIgYnVpbGQgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmluY2lwYWwgdGhpcyBHYW1lTGlmdCBCdWlsZCBpcyB1c2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1aWxkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuYnVpbGROYW1lLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmJ1aWxkTmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5idWlsZE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnVpbGROYW1lLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBCdWlsZCBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5idWlsZE5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGUgPz8gbmV3IGlhbS5Sb2xlKHRoaXMsICdTZXJ2aWNlUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdnYW1lbGlmdC5hbWF6b25hd3MuY29tJyksXG4gICAgfSk7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXMucm9sZTtcbiAgICBjb25zdCBjb250ZW50ID0gcHJvcHMuY29udGVudC5iaW5kKHRoaXMsIHRoaXMucm9sZSk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5CdWlsZCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5idWlsZE5hbWUsXG4gICAgICB2ZXJzaW9uOiBwcm9wcy5idWlsZFZlcnNpb24sXG4gICAgICBvcGVyYXRpbmdTeXN0ZW06IHByb3BzLm9wZXJhdGluZ1N5c3RlbSxcbiAgICAgIHN0b3JhZ2VMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXQ6IGNvbnRlbnQuczNMb2NhdGlvbiAmJiBjb250ZW50LnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICAga2V5OiBjb250ZW50LnMzTG9jYXRpb24gJiYgY29udGVudC5zM0xvY2F0aW9uLm9iamVjdEtleSxcbiAgICAgICAgb2JqZWN0VmVyc2lvbjogY29udGVudC5zM0xvY2F0aW9uICYmIGNvbnRlbnQuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uLFxuICAgICAgICByb2xlQXJuOiB0aGlzLnJvbGUucm9sZUFybixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5yb2xlKTtcblxuICAgIHRoaXMuYnVpbGRJZCA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHJlc291cmNlLnJlZik7XG4gICAgdGhpcy5idWlsZEFybiA9IGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnYW1lbGlmdCcsXG4gICAgICByZXNvdXJjZTogJ2J1aWxkJyxcbiAgICAgIHJlc291cmNlTmFtZTogdGhpcy5idWlsZElkLFxuICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gIH1cblxuXG59XG4iXX0=
package/lib/content.js CHANGED
@@ -32,7 +32,7 @@ class Content {
32
32
  }
33
33
  exports.Content = Content;
34
34
  _a = JSII_RTTI_SYMBOL_1;
35
- Content[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.Content", version: "2.53.0-alpha.0" };
35
+ Content[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.Content", version: "2.55.0-alpha.0" };
36
36
  /**
37
37
  * Game content from an S3 archive.
38
38
  */
@@ -64,7 +64,7 @@ class S3Content extends Content {
64
64
  }
65
65
  exports.S3Content = S3Content;
66
66
  _b = JSII_RTTI_SYMBOL_1;
67
- S3Content[_b] = { fqn: "@aws-cdk/aws-gamelift-alpha.S3Content", version: "2.53.0-alpha.0" };
67
+ S3Content[_b] = { fqn: "@aws-cdk/aws-gamelift-alpha.S3Content", version: "2.55.0-alpha.0" };
68
68
  /**
69
69
  * Game content from a local directory.
70
70
  */
@@ -109,5 +109,5 @@ class AssetContent extends Content {
109
109
  }
110
110
  exports.AssetContent = AssetContent;
111
111
  _c = JSII_RTTI_SYMBOL_1;
112
- AssetContent[_c] = { fqn: "@aws-cdk/aws-gamelift-alpha.AssetContent", version: "2.53.0-alpha.0" };
112
+ AssetContent[_c] = { fqn: "@aws-cdk/aws-gamelift-alpha.AssetContent", version: "2.55.0-alpha.0" };
113
113
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLHVEQUF1RDtBQUN2RCxtQ0FBbUM7QUFHbkM7OztHQUdHO0FBQ0gsTUFBc0IsT0FBTztJQUMzQjs7Ozs7U0FLSztJQUNFLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBa0IsRUFBRSxHQUFXLEVBQUUsYUFBc0I7UUFDOUUsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQ2xEO0lBR0Q7Ozs7U0FJSztJQUNFLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBWSxFQUFFLE9BQWdDO1FBQ3BFLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3hDOztBQW5CSCwwQkEwQkM7OztBQVlEOztHQUVHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsT0FBTztJQUVwQyxZQUE2QixNQUFrQixFQUFVLEdBQVcsRUFBVSxhQUFzQjtRQUNsRyxLQUFLLEVBQUUsQ0FBQztRQURtQixXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBRWxHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztTQUNwRTtLQUNGO0lBRU0sSUFBSSxDQUFDLE1BQWlCLEVBQUUsSUFBZTtRQUM1QywrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUNoRCxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUscUJBQXFCLENBQUM7U0FDakQsQ0FBQyxDQUFDLENBQUM7UUFFSixPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7Z0JBQ2xDLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQ2xDO1NBQ0YsQ0FBQztLQUNIOztBQXhCSCw4QkF5QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsT0FBTztJQUd2Qzs7T0FFRztJQUNILFlBQTRCLElBQVksRUFBbUIsVUFBa0MsRUFBRztRQUM5RixLQUFLLEVBQUUsQ0FBQztRQURrQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQW1CLFlBQU8sR0FBUCxPQUFPLENBQThCO0tBRS9GO0lBRU0sSUFBSSxDQUFDLEtBQWdCLEVBQUUsSUFBZTtRQUMzQyx3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO2dCQUNqRCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFDLENBQUM7U0FDSjthQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEtBQUs7Z0JBQ3hHLGdEQUFnRCxDQUFDLENBQUM7U0FDckQ7UUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkYsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDaEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN4QixTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekQsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLHFCQUFxQixDQUFDO1NBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztLQUNIOztBQXhDSCxvQ0F5Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNfYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEJlZm9yZSBkZXBsb3lpbmcgeW91ciBHYW1lTGlmdC1lbmFibGVkIG11bHRpcGxheWVyIGdhbWUgc2VydmVycyBmb3IgaG9zdGluZyB3aXRoIHRoZSBHYW1lTGlmdCBzZXJ2aWNlLCB5b3UgbmVlZCB0byB1cGxvYWQgeW91ciBnYW1lIHNlcnZlciBmaWxlcy5cbiAqIFRoZSBjbGFzcyBoZWxwcyB5b3Ugb24gcHJlcGFyaW5nIGFuZCB1cGxvYWRpbmcgY3VzdG9tIGdhbWUgc2VydmVyIGJ1aWxkIGZpbGVzIG9yIFJlYWx0aW1lIFNlcnZlcnMgc2VydmVyIHNjcmlwdCBmaWxlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbnRlbnQge1xuICAvKipcbiAgICAgKiBHYW1lIGNvbnRlbnQgYXMgYW4gUzMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSBidWNrZXQgVGhlIFMzIGJ1Y2tldFxuICAgICAqIEBwYXJhbSBrZXkgVGhlIG9iamVjdCBrZXlcbiAgICAgKiBAcGFyYW0gb2JqZWN0VmVyc2lvbiBPcHRpb25hbCBTMyBvYiBqZWN0IHZlcnNpb25cbiAgICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQnVja2V0KGJ1Y2tldDogczMuSUJ1Y2tldCwga2V5OiBzdHJpbmcsIG9iamVjdFZlcnNpb24/OiBzdHJpbmcpOiBTM0NvbnRlbnQge1xuICAgIHJldHVybiBuZXcgUzNDb250ZW50KGJ1Y2tldCwga2V5LCBvYmplY3RWZXJzaW9uKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAgICogTG9hZHMgdGhlIGdhbWUgY29udGVudCBmcm9tIGEgbG9jYWwgZGlzayBwYXRoLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhdGggRWl0aGVyIGEgZGlyZWN0b3J5IHdpdGggdGhlIGdhbWUgY29udGVudCBidW5kbGUgb3IgYSAuemlwIGZpbGVcbiAgICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQXNzZXQocGF0aDogc3RyaW5nLCBvcHRpb25zPzogczNfYXNzZXRzLkFzc2V0T3B0aW9ucyk6IEFzc2V0Q29udGVudCB7XG4gICAgcmV0dXJuIG5ldyBBc3NldENvbnRlbnQocGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgQnVpbGQgaXMgaW5pdGlhbGl6ZWQgdG8gYWxsb3cgdGhpcyBvYmplY3QgdG8gYmluZFxuICAgICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYmluZChzY29wZTogQ29uc3RydWN0LCByb2xlOiBpYW0uSVJvbGUpOiBDb250ZW50Q29uZmlnO1xuXG59XG5cbi8qKlxuICogUmVzdWx0IG9mIGJpbmRpbmcgYENvbnRlbnRgIGludG8gYSBgQnVpbGRgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRDb25maWcge1xuICAvKipcbiAgICogVGhlIGxvY2F0aW9uIG9mIHRoZSBjb250ZW50IGluIFMzLlxuICAgKi9cbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogczMuTG9jYXRpb247XG59XG5cbi8qKlxuICogR2FtZSBjb250ZW50IGZyb20gYW4gUzMgYXJjaGl2ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFMzQ29udGVudCBleHRlbmRzIENvbnRlbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBzMy5JQnVja2V0LCBwcml2YXRlIGtleTogc3RyaW5nLCBwcml2YXRlIG9iamVjdFZlcnNpb24/OiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICghYnVja2V0LmJ1Y2tldE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYnVja2V0TmFtZSBpcyB1bmRlZmluZWQgZm9yIHRoZSBwcm92aWRlZCBidWNrZXQnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgcm9sZTogaWFtLklSb2xlKTogQ29udGVudENvbmZpZyB7XG4gICAgLy8gQWRkaW5nIHBlcm1pc3Npb24gdG8gYWNjZXNzIHNwZWNpZmljIGNvbnRlbnRcbiAgICByb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIHJlc291cmNlczogW3RoaXMuYnVja2V0LmFybkZvck9iamVjdHModGhpcy5rZXkpXSxcbiAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0JywgJ3MzOkdldE9iamVjdFZlcnNpb24nXSxcbiAgICB9KSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgczNMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXROYW1lOiB0aGlzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMua2V5LFxuICAgICAgICBvYmplY3RWZXJzaW9uOiB0aGlzLm9iamVjdFZlcnNpb24sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBHYW1lIGNvbnRlbnQgZnJvbSBhIGxvY2FsIGRpcmVjdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2V0Q29udGVudCBleHRlbmRzIENvbnRlbnQge1xuICBwcml2YXRlIGFzc2V0PzogczNfYXNzZXRzLkFzc2V0O1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byB0aGUgYXNzZXQgZmlsZSBvciBkaXJlY3RvcnkuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nLCBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IHMzX2Fzc2V0cy5Bc3NldE9wdGlvbnMgPSB7IH0pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgcm9sZTogaWFtLklSb2xlKTogQ29udGVudENvbmZpZyB7XG4gICAgLy8gSWYgdGhlIHNhbWUgQXNzZXRDb250ZW50IGlzIHVzZWQgbXVsdGlwbGUgdGltZXMsIHJldGFpbiBvbmx5IHRoZSBmaXJzdCBpbnN0YW50aWF0aW9uLlxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBzM19hc3NldHMuQXNzZXQoc2NvcGUsICdDb250ZW50Jywge1xuICAgICAgICBwYXRoOiB0aGlzLnBhdGgsXG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoY2RrLlN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBjZGsuU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7Y2RrLlN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZX0nLiBgICtcbiAgICAgICAgJ0NyZWF0ZSBhIG5ldyBDb250ZW50IGluc3RhbmNlIGZvciBldmVyeSBzdGFjay4nKTtcbiAgICB9XG4gICAgY29uc3QgYnVja2V0ID0gczMuQnVja2V0LmZyb21CdWNrZXROYW1lKHNjb3BlLCAnQXNzZXRCdWNrZXQnLCB0aGlzLmFzc2V0LnMzQnVja2V0TmFtZSk7XG5cbiAgICAvLyBBZGRpbmcgcGVybWlzc2lvbiB0byBhY2Nlc3Mgc3BlY2lmaWMgY29udGVudFxuICAgIHJvbGUuYWRkVG9QcmluY2lwYWxQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgcmVzb3VyY2VzOiBbYnVja2V0LmFybkZvck9iamVjdHModGhpcy5hc3NldC5zM09iamVjdEtleSldLFxuICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnLCAnczM6R2V0T2JqZWN0VmVyc2lvbiddLFxuICAgIH0pKTtcblxuICAgIGlmICghdGhpcy5hc3NldC5pc1ppcEFyY2hpdmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXNzZXQgbXVzdCBiZSBhIC56aXAgZmlsZSBvciBhIGRpcmVjdG9yeSAoJHt0aGlzLnBhdGh9KWApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYXNzZXQuczNCdWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMuYXNzZXQuczNPYmplY3RLZXksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -3,6 +3,8 @@ import * as ec2 from 'aws-cdk-lib/aws-ec2';
3
3
  import * as iam from 'aws-cdk-lib/aws-iam';
4
4
  import * as cdk from 'aws-cdk-lib';
5
5
  import { Construct } from 'constructs';
6
+ import { Alias, AliasOptions } from './alias';
7
+ import { IGameSessionQueueDestination } from './game-session-queue';
6
8
  import { CfnFleet } from 'aws-cdk-lib/aws-gamelift';
7
9
  /**
8
10
  * Current resource capacity settings in a specified fleet or location.
@@ -129,7 +131,7 @@ export interface ResourceCreationLimitPolicy {
129
131
  /**
130
132
  * Represents a Gamelift fleet
131
133
  */
132
- export interface IFleet extends cdk.IResource, iam.IGrantable {
134
+ export interface IFleet extends cdk.IResource, iam.IGrantable, IGameSessionQueueDestination {
133
135
  /**
134
136
  * The Identifier of the fleet.
135
137
  *
@@ -378,6 +380,26 @@ export declare abstract class FleetBase extends cdk.Resource implements IFleet {
378
380
  */
379
381
  abstract readonly grantPrincipal: iam.IPrincipal;
380
382
  private readonly locations;
383
+ /**
384
+ * Defines an alias for this fleet.
385
+ *
386
+ * ```ts
387
+ * declare const fleet: gamelift.FleetBase;
388
+ *
389
+ * fleet.addAlias('Live');
390
+ *
391
+ * // Is equivalent to
392
+ *
393
+ * new gamelift.Alias(this, 'AliasLive', {
394
+ * aliasName: 'Live',
395
+ * fleet: fleet,
396
+ * });
397
+ * ```
398
+ *
399
+ * @param aliasName The name of the alias
400
+ * @param options Alias options
401
+ */
402
+ addAlias(aliasName: string, options?: AliasOptions): Alias;
381
403
  grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
382
404
  metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
383
405
  metricActiveInstances(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
@@ -388,6 +410,10 @@ export declare abstract class FleetBase extends cdk.Resource implements IFleet {
388
410
  metricMaxInstances(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
389
411
  metricMinInstances(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
390
412
  private cannedMetric;
413
+ /**
414
+ * The ARN to put into the destination field of a game session queue
415
+ */
416
+ get resourceArnForDestination(): string;
391
417
  /**
392
418
  * Adds a remote locations to deploy additional instances to and manage as part of the fleet.
393
419
  *