@aws-cdk/aws-gamelift-alpha 2.45.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/script.js ADDED
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Script = exports.ScriptBase = void 0;
5
+ const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
6
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
+ const iam = require("aws-cdk-lib/aws-iam");
8
+ const cdk = require("aws-cdk-lib");
9
+ const content_1 = require("./content");
10
+ const aws_gamelift_1 = require("aws-cdk-lib/aws-gamelift");
11
+ /**
12
+ * Base class for new and imported GameLift realtime server script.
13
+ */
14
+ class ScriptBase extends cdk.Resource {
15
+ }
16
+ exports.ScriptBase = ScriptBase;
17
+ _a = JSII_RTTI_SYMBOL_1;
18
+ ScriptBase[_a] = { fqn: "@aws-cdk/aws-gamelift-alpha.ScriptBase", version: "2.45.0-alpha.0" };
19
+ /**
20
+ * A GameLift script, that is installed and runs on instances in an Amazon GameLift fleet. It consists of
21
+ * a zip file with all of the components of the realtime game server script.
22
+ *
23
+ * @see https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-script-uploading.html
24
+ *
25
+ * @resource AWS::GameLift::Script
26
+ */
27
+ class Script extends ScriptBase {
28
+ constructor(scope, id, props) {
29
+ super(scope, id, {
30
+ physicalName: props.scriptName,
31
+ });
32
+ try {
33
+ jsiiDeprecationWarnings._aws_cdk_aws_gamelift_alpha_ScriptProps(props);
34
+ }
35
+ catch (error) {
36
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
37
+ Error.captureStackTrace(error, Script);
38
+ }
39
+ throw error;
40
+ }
41
+ if (props.scriptName && !cdk.Token.isUnresolved(props.scriptName)) {
42
+ if (props.scriptName.length > 1024) {
43
+ throw new Error(`Script name can not be longer than 1024 characters but has ${props.scriptName.length} characters.`);
44
+ }
45
+ }
46
+ this.role = props.role ?? new iam.Role(this, 'ServiceRole', {
47
+ assumedBy: new iam.ServicePrincipal('gamelift.amazonaws.com'),
48
+ });
49
+ this.grantPrincipal = this.role;
50
+ const content = props.content.bind(this, this.role);
51
+ const resource = new aws_gamelift_1.CfnScript(this, 'Resource', {
52
+ name: props.scriptName,
53
+ version: props.scriptVersion,
54
+ storageLocation: {
55
+ bucket: content.s3Location && content.s3Location.bucketName,
56
+ key: content.s3Location && content.s3Location.objectKey,
57
+ objectVersion: content.s3Location && content.s3Location.objectVersion,
58
+ roleArn: this.role.roleArn,
59
+ },
60
+ });
61
+ this.scriptId = this.getResourceNameAttribute(resource.ref);
62
+ this.scriptArn = this.getResourceArnAttribute(resource.attrArn, {
63
+ service: 'gamelift',
64
+ resource: `script/${this.physicalName}`,
65
+ arnFormat: cdk.ArnFormat.COLON_RESOURCE_NAME,
66
+ });
67
+ }
68
+ /**
69
+ * Create a new realtime server script from s3 content
70
+ */
71
+ static fromBucket(scope, id, bucket, key, objectVersion) {
72
+ return new Script(scope, id, {
73
+ content: content_1.Content.fromBucket(bucket, key, objectVersion),
74
+ });
75
+ }
76
+ /**
77
+ * Create a new realtime server script from asset content
78
+ */
79
+ static fromAsset(scope, id, path, options) {
80
+ return new Script(scope, id, {
81
+ content: content_1.Content.fromAsset(path, options),
82
+ });
83
+ }
84
+ /**
85
+ * Import a script into CDK using its ARN
86
+ */
87
+ static fromScriptArn(scope, id, scriptArn) {
88
+ return this.fromScriptAttributes(scope, id, { scriptArn });
89
+ }
90
+ /**
91
+ * Import an existing realtime server script from its attributes.
92
+ */
93
+ static fromScriptAttributes(scope, id, attrs) {
94
+ try {
95
+ jsiiDeprecationWarnings._aws_cdk_aws_gamelift_alpha_ScriptAttributes(attrs);
96
+ }
97
+ catch (error) {
98
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
99
+ Error.captureStackTrace(error, this.fromScriptAttributes);
100
+ }
101
+ throw error;
102
+ }
103
+ const scriptArn = attrs.scriptArn;
104
+ const scriptId = extractIdFromArn(attrs.scriptArn);
105
+ const role = attrs.role;
106
+ class Import extends ScriptBase {
107
+ constructor(s, i) {
108
+ super(s, i, {
109
+ environmentFromArn: scriptArn,
110
+ });
111
+ this.scriptArn = scriptArn;
112
+ this.scriptId = scriptId;
113
+ this.role = role;
114
+ this.grantPrincipal = this.role || new iam.UnknownPrincipal({ resource: this });
115
+ }
116
+ }
117
+ return new Import(scope, id);
118
+ }
119
+ }
120
+ exports.Script = Script;
121
+ _b = JSII_RTTI_SYMBOL_1;
122
+ Script[_b] = { fqn: "@aws-cdk/aws-gamelift-alpha.Script", version: "2.45.0-alpha.0" };
123
+ /**
124
+ * Given an opaque (token) ARN, returns a CloudFormation expression that extracts the script
125
+ * identifier from the ARN.
126
+ *
127
+ * Script ARNs look like this:
128
+ *
129
+ * arn:aws:gamelift:region:account-id:script/script-identifier
130
+ *
131
+ * ..which means that in order to extract the `script-identifier` component from the ARN, we can
132
+ * split the ARN using ":" and select the component in index 5 then split using "/" and select the component in index 1.
133
+ *
134
+ * @returns the script identifier from his ARN
135
+ */
136
+ function extractIdFromArn(arn) {
137
+ const splitValue = cdk.Fn.select(5, cdk.Fn.split(':', arn));
138
+ return cdk.Fn.select(1, cdk.Fn.split('/', splitValue));
139
+ }
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUEyQztBQUczQyxtQ0FBbUM7QUFFbkMsdUNBQW9DO0FBQ3BDLDJEQUFxRDtBQTRCckQ7O0dBRUc7QUFDSCxNQUFzQixVQUFXLFNBQVEsR0FBRyxDQUFDLFFBQVE7O0FBQXJELGdDQVFDOzs7QUFnRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsTUFBTyxTQUFRLFVBQVU7SUF5RXBDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7UUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDL0IsQ0FBQyxDQUFDOzs7Ozs7K0NBNUVNLE1BQU07Ozs7UUE4RWYsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2pFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFO2dCQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUM7YUFDdEg7U0FDRjtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUMxRCxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUM7U0FDOUQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSx3QkFBUyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDL0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsYUFBYTtZQUM1QixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVO2dCQUMzRCxHQUFHLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVM7Z0JBQ3ZELGFBQWEsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYTtnQkFDckUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzthQUMzQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQzlELE9BQU8sRUFBRSxVQUFVO1lBQ25CLFFBQVEsRUFBRSxVQUFVLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdkMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsbUJBQW1CO1NBQzdDLENBQUMsQ0FBQztLQUNKO0lBeEdEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUFrQixFQUFFLEdBQVcsRUFBRSxhQUFzQjtRQUNyRyxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDM0IsT0FBTyxFQUFFLGlCQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDO1NBQ3hELENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQVksRUFBRSxPQUFnQztRQUMzRixPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDM0IsT0FBTyxFQUFFLGlCQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7U0FDMUMsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7U0FFSztJQUNMLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7UUFDbEUsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FDNUQ7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7Ozs7Ozs7OztRQUMvRSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNuRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBRXhCLE1BQU0sTUFBTyxTQUFRLFVBQVU7WUFNN0IsWUFBWSxDQUFZLEVBQUUsQ0FBUztnQkFDakMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7b0JBQ1Ysa0JBQWtCLEVBQUUsU0FBUztpQkFDOUIsQ0FBQyxDQUFDO2dCQVJXLGNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQ3RCLGFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBRXBCLFNBQUksR0FBRyxJQUFJLENBQUE7Z0JBT3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7U0FDRjtRQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0tBQzlCOztBQW5ESCx3QkEyR0M7OztBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsR0FBVztJQUNuQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzM19hc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSAnLi9jb250ZW50JztcbmltcG9ydCB7IENmblNjcmlwdCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nYW1lbGlmdCc7XG5cbi8qKlxuICAqIFlvdXIgY29uZmlndXJhdGlvbiBhbmQgY3VzdG9tIGdhbWUgbG9naWMgZm9yIHVzZSB3aXRoIFJlYWx0aW1lIFNlcnZlcnMuXG4gKiBSZWFsdGltZSBTZXJ2ZXJzIGFyZSBwcm92aWRlZCBieSBHYW1lTGlmdCB0byB1c2UgaW5zdGVhZCBvZiBhIGN1c3RvbS1idWlsdCBnYW1lIHNlcnZlci5cbiAqIFlvdSBjb25maWd1cmUgUmVhbHRpbWUgU2VydmVycyBmb3IgeW91ciBnYW1lIGNsaWVudHMgYnkgY3JlYXRpbmcgYSBzY3JpcHQgdXNpbmcgSmF2YVNjcmlwdCxcbiAqIGFuZCBhZGQgY3VzdG9tIGdhbWUgbG9naWMgYXMgYXBwcm9wcmlhdGUgdG8gaG9zdCBnYW1lIHNlc3Npb25zIGZvciB5b3VyIHBsYXllcnMuXG4gKiBZb3UgdXBsb2FkIHRoZSBSZWFsdGltZSBzY3JpcHQgdG8gdGhlIEdhbWVMaWZ0IHNlcnZpY2UgaW4gdGhlIFJlZ2lvbnMgd2hlcmUgeW91IHBsYW4gdG8gc2V0IHVwIGZsZWV0cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmVhbHRpbWUtc2NyaXB0LXVwbG9hZGluZy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmlwdCBleHRlbmRzIGNkay5JUmVzb3VyY2UsIGlhbS5JR3JhbnRhYmxlIHtcblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdEFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIG5ldyBhbmQgaW1wb3J0ZWQgR2FtZUxpZnQgcmVhbHRpbWUgc2VydmVyIHNjcmlwdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNjcmlwdEJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJU2NyaXB0IHtcbiAgLyoqXG4gICAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzY3JpcHRJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NyaXB0QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgU2NyaXB0IGNvbnRlbnQgZGVmaW5lZCBvdXRzaWRlIG9mIHRoaXMgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0QXR0cmlidXRlcyB7XG4gIC8qKlxuICAgICAqIFRoZSBBUk4gb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHRcbiAgICAgKi9cbiAgcmVhZG9ubHkgc2NyaXB0QXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgYXNzdW1lZCBieSBHYW1lTGlmdCB0byBhY2Nlc3Mgc2VydmVyIHNjcmlwdCBpbiBTMy5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgcmVhbHRpbWUgc2VydmVyIHNjcmlwdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdFByb3BzIHtcbiAgLyoqXG4gICAgICogTmFtZSBvZiB0aGlzIHJlYWx0aW1lIHNlcnZlciBzY3JpcHRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IE5vIG5hbWVcbiAgICAgKi9cbiAgcmVhZG9ubHkgc2NyaXB0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICAgKiBWZXJzaW9uIG9mIHRoaXMgcmVhbHRpbWUgc2VydmVyIHNjcmlwdFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgTm8gdmVyc2lvblxuICAgICAqL1xuICByZWFkb25seSBzY3JpcHRWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIFRoZSBnYW1lIGNvbnRlbnRcbiAgICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogQ29udGVudDtcblxuICAvKipcbiAgICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IEdhbWVMaWZ0IHRvIGFjY2VzcyBzZXJ2ZXIgc2NyaXB0IGluIFMzLlxuICAgICogSWYgcHJvdmlkaW5nIGEgY3VzdG9tIHJvbGUsIGl0IG5lZWRzIHRvIHRydXN0IHRoZSBHYW1lTGlmdCBzZXJ2aWNlIHByaW5jaXBhbCAoZ2FtZWxpZnQuYW1hem9uYXdzLmNvbSkgYW5kIGJlIGdyYW50ZWQgc3VmZmljaWVudCBwZXJtaXNzaW9uc1xuICAgICogdG8gaGF2ZSBSZWFkIGFjY2VzcyB0byBhIHNwZWNpZmljIGtleSBjb250ZW50IGludG8gYSBzcGVjaWZpYyBTMyBidWNrZXQuXG4gICAgKiBCZWxvdyBhbiBleGFtcGxlIG9mIHJlcXVpcmVkIHBlcm1pc3Npb246XG4gICAgKiB7XG4gICAgKiAgXCJWZXJzaW9uXCI6IFwiMjAxMi0xMC0xN1wiLFxuICAgICogIFwiU3RhdGVtZW50XCI6IFt7XG4gICAgKiAgICAgICAgXCJFZmZlY3RcIjogXCJBbGxvd1wiLFxuICAgICogICAgICAgIFwiQWN0aW9uXCI6IFtcbiAgICAqICAgICAgICAgICAgXCJzMzpHZXRPYmplY3RcIixcbiAgICAqICAgICAgICAgICAgXCJzMzpHZXRPYmplY3RWZXJzaW9uXCJcbiAgICAqICAgICAgICBdLFxuICAgICogICAgICAgIFwiUmVzb3VyY2VcIjogXCJhcm46YXdzOnMzOjo6YnVja2V0LW5hbWUvb2JqZWN0LW5hbWVcIlxuICAgICogIH1dXG4gICAgKn1cbiAgICAqXG4gICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvc2VjdXJpdHlfaWFtX2lkLWJhc2VkLXBvbGljeS1leGFtcGxlcy5odG1sI3NlY3VyaXR5X2lhbV9pZC1iYXNlZC1wb2xpY3ktZXhhbXBsZXMtYWNjZXNzLXN0b3JhZ2UtbG9jXG4gICAgKlxuICAgICogQGRlZmF1bHQgLSBhIHJvbGUgd2lsbCBiZSBjcmVhdGVkIHdpdGggZGVmYXVsdCBwZXJtaXNzaW9ucy5cbiAgICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xufVxuXG4vKipcbiAqIEEgR2FtZUxpZnQgc2NyaXB0LCB0aGF0IGlzIGluc3RhbGxlZCBhbmQgcnVucyBvbiBpbnN0YW5jZXMgaW4gYW4gQW1hem9uIEdhbWVMaWZ0IGZsZWV0LiBJdCBjb25zaXN0cyBvZlxuICogYSB6aXAgZmlsZSB3aXRoIGFsbCBvZiB0aGUgY29tcG9uZW50cyBvZiB0aGUgcmVhbHRpbWUgZ2FtZSBzZXJ2ZXIgc2NyaXB0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yZWFsdGltZS1zY3JpcHQtdXBsb2FkaW5nLmh0bWxcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpHYW1lTGlmdDo6U2NyaXB0XG4gKi9cbmV4cG9ydCBjbGFzcyBTY3JpcHQgZXh0ZW5kcyBTY3JpcHRCYXNlIHtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHJlYWx0aW1lIHNlcnZlciBzY3JpcHQgZnJvbSBzMyBjb250ZW50XG4gICAqL1xuICBzdGF0aWMgZnJvbUJ1Y2tldChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWNrZXQ6IHMzLklCdWNrZXQsIGtleTogc3RyaW5nLCBvYmplY3RWZXJzaW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHQoc2NvcGUsIGlkLCB7XG4gICAgICBjb250ZW50OiBDb250ZW50LmZyb21CdWNrZXQoYnVja2V0LCBrZXksIG9iamVjdFZlcnNpb24pLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0IGZyb20gYXNzZXQgY29udGVudFxuICAgKi9cbiAgc3RhdGljIGZyb21Bc3NldChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBzM19hc3NldHMuQXNzZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHQoc2NvcGUsIGlkLCB7XG4gICAgICBjb250ZW50OiBDb250ZW50LmZyb21Bc3NldChwYXRoLCBvcHRpb25zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgICAqIEltcG9ydCBhIHNjcmlwdCBpbnRvIENESyB1c2luZyBpdHMgQVJOXG4gICAgICovXG4gIHN0YXRpYyBmcm9tU2NyaXB0QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHNjcmlwdEFybjogc3RyaW5nKTogSVNjcmlwdCB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbVNjcmlwdEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IHNjcmlwdEFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgcmVhbHRpbWUgc2VydmVyIHNjcmlwdCBmcm9tIGl0cyBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgc3RhdGljIGZyb21TY3JpcHRBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBTY3JpcHRBdHRyaWJ1dGVzKTogSVNjcmlwdCB7XG4gICAgY29uc3Qgc2NyaXB0QXJuID0gYXR0cnMuc2NyaXB0QXJuO1xuICAgIGNvbnN0IHNjcmlwdElkID0gZXh0cmFjdElkRnJvbUFybihhdHRycy5zY3JpcHRBcm4pO1xuICAgIGNvbnN0IHJvbGUgPSBhdHRycy5yb2xlO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgU2NyaXB0QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0QXJuID0gc2NyaXB0QXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHNjcmlwdElkID0gc2NyaXB0SWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6aWFtLklQcmluY2lwYWw7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcm9sZSA9IHJvbGVcblxuICAgICAgY29uc3RydWN0b3IoczogQ29uc3RydWN0LCBpOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocywgaSwge1xuICAgICAgICAgIGVudmlyb25tZW50RnJvbUFybjogc2NyaXB0QXJuLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlIHx8IG5ldyBpYW0uVW5rbm93blByaW5jaXBhbCh7IHJlc291cmNlOiB0aGlzIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcmVhbHRpbWUgc2VydmVyIHNjcmlwdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY3JpcHRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIEdhbWVMaWZ0IGFzc3VtZXMgdG8gYWNjY2VzcyBzZXJ2ZXIgc2NyaXB0IGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpbmNpcGFsIHRoaXMgR2FtZUxpZnQgc2NyaXB0IGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NyaXB0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuc2NyaXB0TmFtZSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5zY3JpcHROYW1lICYmICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLnNjcmlwdE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuc2NyaXB0TmFtZS5sZW5ndGggPiAxMDI0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU2NyaXB0IG5hbWUgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLnNjcmlwdE5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnJvbGUgPSBwcm9wcy5yb2xlID8/IG5ldyBpYW0uUm9sZSh0aGlzLCAnU2VydmljZVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZ2FtZWxpZnQuYW1hem9uYXdzLmNvbScpLFxuICAgIH0pO1xuICAgIHRoaXMuZ3JhbnRQcmluY2lwYWwgPSB0aGlzLnJvbGU7XG4gICAgY29uc3QgY29udGVudCA9IHByb3BzLmNvbnRlbnQuYmluZCh0aGlzLCB0aGlzLnJvbGUpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuU2NyaXB0KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLnNjcmlwdE5hbWUsXG4gICAgICB2ZXJzaW9uOiBwcm9wcy5zY3JpcHRWZXJzaW9uLFxuICAgICAgc3RvcmFnZUxvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldDogY29udGVudC5zM0xvY2F0aW9uICYmIGNvbnRlbnQuczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgICBrZXk6IGNvbnRlbnQuczNMb2NhdGlvbiAmJiBjb250ZW50LnMzTG9jYXRpb24ub2JqZWN0S2V5LFxuICAgICAgICBvYmplY3RWZXJzaW9uOiBjb250ZW50LnMzTG9jYXRpb24gJiYgY29udGVudC5zM0xvY2F0aW9uLm9iamVjdFZlcnNpb24sXG4gICAgICAgIHJvbGVBcm46IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuc2NyaXB0SWQgPSB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZShyZXNvdXJjZS5yZWYpO1xuICAgIHRoaXMuc2NyaXB0QXJuID0gdGhpcy5nZXRSZXNvdXJjZUFybkF0dHJpYnV0ZShyZXNvdXJjZS5hdHRyQXJuLCB7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6IGBzY3JpcHQvJHt0aGlzLnBoeXNpY2FsTmFtZX1gLFxuICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBHaXZlbiBhbiBvcGFxdWUgKHRva2VuKSBBUk4sIHJldHVybnMgYSBDbG91ZEZvcm1hdGlvbiBleHByZXNzaW9uIHRoYXQgZXh0cmFjdHMgdGhlIHNjcmlwdFxuICogaWRlbnRpZmllciBmcm9tIHRoZSBBUk4uXG4gKlxuICogU2NyaXB0IEFSTnMgbG9vayBsaWtlIHRoaXM6XG4gKlxuICogICBhcm46YXdzOmdhbWVsaWZ0OnJlZ2lvbjphY2NvdW50LWlkOnNjcmlwdC9zY3JpcHQtaWRlbnRpZmllclxuICpcbiAqIC4ud2hpY2ggbWVhbnMgdGhhdCBpbiBvcmRlciB0byBleHRyYWN0IHRoZSBgc2NyaXB0LWlkZW50aWZpZXJgIGNvbXBvbmVudCBmcm9tIHRoZSBBUk4sIHdlIGNhblxuICogc3BsaXQgdGhlIEFSTiB1c2luZyBcIjpcIiBhbmQgc2VsZWN0IHRoZSBjb21wb25lbnQgaW4gaW5kZXggNSB0aGVuIHNwbGl0IHVzaW5nIFwiL1wiIGFuZCBzZWxlY3QgdGhlIGNvbXBvbmVudCBpbiBpbmRleCAxLlxuICpcbiAqIEByZXR1cm5zIHRoZSBzY3JpcHQgaWRlbnRpZmllciBmcm9tIGhpcyBBUk5cbiAqL1xuZnVuY3Rpb24gZXh0cmFjdElkRnJvbUFybihhcm46IHN0cmluZykge1xuICBjb25zdCBzcGxpdFZhbHVlID0gY2RrLkZuLnNlbGVjdCg1LCBjZGsuRm4uc3BsaXQoJzonLCBhcm4pKTtcbiAgcmV0dXJuIGNkay5Gbi5zZWxlY3QoMSwgY2RrLkZuLnNwbGl0KCcvJywgc3BsaXRWYWx1ZSkpO1xufVxuIl19
package/package.json ADDED
@@ -0,0 +1,121 @@
1
+ {
2
+ "name": "@aws-cdk/aws-gamelift-alpha",
3
+ "version": "2.45.0-alpha.0",
4
+ "private": false,
5
+ "description": "The CDK Construct Library for AWS::GameLift",
6
+ "main": "lib/index.js",
7
+ "types": "lib/index.d.ts",
8
+ "jsii": {
9
+ "outdir": "dist",
10
+ "targets": {
11
+ "java": {
12
+ "package": "software.amazon.awscdk.services.gamelift.alpha",
13
+ "maven": {
14
+ "groupId": "software.amazon.awscdk",
15
+ "artifactId": "gamelift-alpha"
16
+ }
17
+ },
18
+ "dotnet": {
19
+ "namespace": "Amazon.CDK.AWS.GameLift.Alpha",
20
+ "packageId": "Amazon.CDK.AWS.GameLift.Alpha",
21
+ "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png"
22
+ },
23
+ "python": {
24
+ "distName": "aws-cdk.aws-gamelift-alpha",
25
+ "module": "aws_cdk.aws_gamelift_alpha",
26
+ "classifiers": [
27
+ "Framework :: AWS CDK",
28
+ "Framework :: AWS CDK :: 2"
29
+ ]
30
+ },
31
+ "go": {
32
+ "moduleName": "github.com/aws/aws-cdk-go",
33
+ "packageName": "awscdkgameliftalpha"
34
+ }
35
+ },
36
+ "projectReferences": true,
37
+ "metadata": {
38
+ "jsii": {
39
+ "rosetta": {
40
+ "strict": true
41
+ }
42
+ }
43
+ }
44
+ },
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/aws/aws-cdk.git",
48
+ "directory": "packages/individual-packages/aws-gamelift"
49
+ },
50
+ "scripts": {
51
+ "build": "cdk-build",
52
+ "watch": "cdk-watch",
53
+ "lint": "cdk-lint",
54
+ "test": "cdk-test",
55
+ "integ": "integ-runner",
56
+ "pkglint": "pkglint -f",
57
+ "package": "cdk-package",
58
+ "awslint": "cdk-awslint",
59
+ "build+test+package": "yarn build+test && yarn package",
60
+ "build+test": "yarn build && yarn test",
61
+ "compat": "cdk-compat",
62
+ "rosetta:extract": "yarn --silent jsii-rosetta extract",
63
+ "build+extract": "yarn build && yarn rosetta:extract",
64
+ "build+test+extract": "yarn build+test && yarn rosetta:extract"
65
+ },
66
+ "cdk-build": {
67
+ "env": {
68
+ "AWSLINT_BASE_CONSTRUCT": true
69
+ }
70
+ },
71
+ "keywords": [
72
+ "aws",
73
+ "cdk",
74
+ "constructs",
75
+ "gamelift"
76
+ ],
77
+ "author": {
78
+ "name": "Amazon Web Services",
79
+ "url": "https://aws.amazon.com",
80
+ "organization": true
81
+ },
82
+ "license": "Apache-2.0",
83
+ "devDependencies": {
84
+ "@aws-cdk/cdk-build-tools": "2.45.0",
85
+ "@aws-cdk/integ-runner": "2.45.0",
86
+ "@aws-cdk/cfn2ts": "2.45.0",
87
+ "@aws-cdk/pkglint": "2.45.0",
88
+ "@types/jest": "^27.5.2",
89
+ "jest": "^27.5.1",
90
+ "aws-cdk-lib": "2.45.0",
91
+ "constructs": "^10.0.0"
92
+ },
93
+ "dependencies": {},
94
+ "homepage": "https://github.com/aws/aws-cdk",
95
+ "peerDependencies": {
96
+ "aws-cdk-lib": "^2.45.0",
97
+ "constructs": "^10.0.0"
98
+ },
99
+ "engines": {
100
+ "node": ">= 14.15.0"
101
+ },
102
+ "awslint": {
103
+ "exclude": [
104
+ "*:*"
105
+ ]
106
+ },
107
+ "stability": "experimental",
108
+ "maturity": "experimental",
109
+ "awscdkio": {
110
+ "announce": false
111
+ },
112
+ "publishConfig": {
113
+ "tag": "latest"
114
+ },
115
+ "pkglint": {
116
+ "exclude": [
117
+ "naming/package-matches-directory",
118
+ "assert/assert-dependency"
119
+ ]
120
+ }
121
+ }
@@ -0,0 +1,6 @@
1
+ import { Construct } from "constructs";
2
+ class MyConstruct extends Construct {
3
+ constructor(scope: Construct, id: string) {
4
+ super(scope, id);
5
+ /// here
6
+ } }
@@ -0,0 +1,16 @@
1
+ // Fixture with packages imported, but nothing else
2
+ import { Construct } from 'constructs';
3
+ import { Duration, Size, Stack } from 'aws-cdk-lib';
4
+ import * as gamelift from '@aws-cdk/aws-gamelift-alpha';
5
+ import * as s3 from 'aws-cdk-lib/aws-s3';
6
+ import * as kms from 'aws-cdk-lib/aws-kms';
7
+ import * as iam from 'aws-cdk-lib/aws-iam';
8
+ import * as path from 'path';
9
+
10
+ class Fixture extends Stack {
11
+ constructor(scope: Construct, id: string) {
12
+ super(scope, id);
13
+
14
+ /// here
15
+ }
16
+ }