`_
36 |
37 |
38 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi-1.14.5.dist-info/REQUESTED:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi-1.14.5.dist-info/REQUESTED
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi-1.14.5.dist-info/WHEEL:
--------------------------------------------------------------------------------
1 | Wheel-Version: 1.0
2 | Generator: bdist_wheel (0.36.2)
3 | Root-Is-Purelib: false
4 | Tag: cp37-cp37m-manylinux1_x86_64
5 |
6 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi-1.14.5.dist-info/entry_points.txt:
--------------------------------------------------------------------------------
1 | [distutils.setup_keywords]
2 | cffi_modules = cffi.setuptools_ext:cffi_modules
3 |
4 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi-1.14.5.dist-info/top_level.txt:
--------------------------------------------------------------------------------
1 | _cffi_backend
2 | cffi
3 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi.libs/libffi-806b1a9d.so.6.0.4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi.libs/libffi-806b1a9d.so.6.0.4
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi/__init__.py:
--------------------------------------------------------------------------------
1 | __all__ = ['FFI', 'VerificationError', 'VerificationMissing', 'CDefError',
2 | 'FFIError']
3 |
4 | from .api import FFI
5 | from .error import CDefError, FFIError, VerificationError, VerificationMissing
6 | from .error import PkgConfigError
7 |
8 | __version__ = "1.14.5"
9 | __version_info__ = (1, 14, 5)
10 |
11 | # The verifier module file names are based on the CRC32 of a string that
12 | # contains the following version number. It may be older than __version__
13 | # if nothing is clearly incompatible.
14 | __version_verifier_modules__ = "0.8.6"
15 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi/error.py:
--------------------------------------------------------------------------------
1 |
2 | class FFIError(Exception):
3 | __module__ = 'cffi'
4 |
5 | class CDefError(Exception):
6 | __module__ = 'cffi'
7 | def __str__(self):
8 | try:
9 | current_decl = self.args[1]
10 | filename = current_decl.coord.file
11 | linenum = current_decl.coord.line
12 | prefix = '%s:%d: ' % (filename, linenum)
13 | except (AttributeError, TypeError, IndexError):
14 | prefix = ''
15 | return '%s%s' % (prefix, self.args[0])
16 |
17 | class VerificationError(Exception):
18 | """ An error raised when verification fails
19 | """
20 | __module__ = 'cffi'
21 |
22 | class VerificationMissing(Exception):
23 | """ An error raised when incomplete structures are passed into
24 | cdef, but no verification has been done
25 | """
26 | __module__ = 'cffi'
27 |
28 | class PkgConfigError(Exception):
29 | """ An error raised for missing modules in pkg-config
30 | """
31 | __module__ = 'cffi'
32 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cffi/lock.py:
--------------------------------------------------------------------------------
1 | import sys
2 |
3 | if sys.version_info < (3,):
4 | try:
5 | from thread import allocate_lock
6 | except ImportError:
7 | from dummy_thread import allocate_lock
8 | else:
9 | try:
10 | from _thread import allocate_lock
11 | except ImportError:
12 | from _dummy_thread import allocate_lock
13 |
14 |
15 | ##import sys
16 | ##l1 = allocate_lock
17 |
18 | ##class allocate_lock(object):
19 | ## def __init__(self):
20 | ## self._real = l1()
21 | ## def __enter__(self):
22 | ## for i in range(4, 0, -1):
23 | ## print sys._getframe(i).f_code
24 | ## print
25 | ## return self._real.__enter__()
26 | ## def __exit__(self, *args):
27 | ## return self._real.__exit__(*args)
28 | ## def acquire(self, f):
29 | ## assert f is False
30 | ## return self._real.acquire(f)
31 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/INSTALLER:
--------------------------------------------------------------------------------
1 | pip
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/LICENSE:
--------------------------------------------------------------------------------
1 | This software is made available under the terms of *either* of the licenses
2 | found in LICENSE.APACHE or LICENSE.BSD. Contributions to cryptography are made
3 | under the terms of *both* these licenses.
4 |
5 | The code used in the OS random engine is derived from CPython, and is licensed
6 | under the terms of the PSF License Agreement.
7 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/LICENSE.BSD:
--------------------------------------------------------------------------------
1 | Copyright (c) Individual contributors.
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 |
7 | 1. Redistributions of source code must retain the above copyright notice,
8 | this list of conditions and the following disclaimer.
9 |
10 | 2. Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in the
12 | documentation and/or other materials provided with the distribution.
13 |
14 | 3. Neither the name of PyCA Cryptography nor the names of its contributors
15 | may be used to endorse or promote products derived from this software
16 | without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/REQUESTED:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/REQUESTED
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/WHEEL:
--------------------------------------------------------------------------------
1 | Wheel-Version: 1.0
2 | Generator: bdist_wheel (0.36.2)
3 | Root-Is-Purelib: false
4 | Tag: pp37-pypy37_pp73-manylinux2010_x86_64
5 |
6 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography-3.4.7.dist-info/top_level.txt:
--------------------------------------------------------------------------------
1 | _openssl
2 | _padding
3 | cryptography
4 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/__about__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | __all__ = [
7 | "__title__",
8 | "__summary__",
9 | "__uri__",
10 | "__version__",
11 | "__author__",
12 | "__email__",
13 | "__license__",
14 | "__copyright__",
15 | ]
16 |
17 | __title__ = "cryptography"
18 | __summary__ = (
19 | "cryptography is a package which provides cryptographic recipes"
20 | " and primitives to Python developers."
21 | )
22 | __uri__ = "https://github.com/pyca/cryptography"
23 |
24 | __version__ = "3.4.7"
25 |
26 | __author__ = "The Python Cryptographic Authority and individual contributors"
27 | __email__ = "cryptography-dev@python.org"
28 |
29 | __license__ = "BSD or Apache License, Version 2.0"
30 | __copyright__ = "Copyright 2013-2021 {}".format(__author__)
31 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | from cryptography.__about__ import (
7 | __author__,
8 | __copyright__,
9 | __email__,
10 | __license__,
11 | __summary__,
12 | __title__,
13 | __uri__,
14 | __version__,
15 | )
16 |
17 |
18 | __all__ = [
19 | "__title__",
20 | "__summary__",
21 | "__uri__",
22 | "__version__",
23 | "__author__",
24 | "__email__",
25 | "__license__",
26 | "__copyright__",
27 | ]
28 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/exceptions.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | from enum import Enum
7 |
8 |
9 | class _Reasons(Enum):
10 | BACKEND_MISSING_INTERFACE = 0
11 | UNSUPPORTED_HASH = 1
12 | UNSUPPORTED_CIPHER = 2
13 | UNSUPPORTED_PADDING = 3
14 | UNSUPPORTED_MGF = 4
15 | UNSUPPORTED_PUBLIC_KEY_ALGORITHM = 5
16 | UNSUPPORTED_ELLIPTIC_CURVE = 6
17 | UNSUPPORTED_SERIALIZATION = 7
18 | UNSUPPORTED_X509 = 8
19 | UNSUPPORTED_EXCHANGE_ALGORITHM = 9
20 | UNSUPPORTED_DIFFIE_HELLMAN = 10
21 | UNSUPPORTED_MAC = 11
22 |
23 |
24 | class UnsupportedAlgorithm(Exception):
25 | def __init__(self, message, reason=None):
26 | super(UnsupportedAlgorithm, self).__init__(message)
27 | self._reason = reason
28 |
29 |
30 | class AlreadyFinalized(Exception):
31 | pass
32 |
33 |
34 | class AlreadyUpdated(Exception):
35 | pass
36 |
37 |
38 | class NotYetFinalized(Exception):
39 | pass
40 |
41 |
42 | class InvalidTag(Exception):
43 | pass
44 |
45 |
46 | class InvalidSignature(Exception):
47 | pass
48 |
49 |
50 | class InternalError(Exception):
51 | def __init__(self, msg, err_code):
52 | super(InternalError, self).__init__(msg)
53 | self.err_code = err_code
54 |
55 |
56 | class InvalidKey(Exception):
57 | pass
58 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 | """
5 | Hazardous Materials
6 |
7 | This is a "Hazardous Materials" module. You should ONLY use it if you're
8 | 100% absolutely sure that you know what you're doing because this module
9 | is full of land mines, dragons, and dinosaurs with laser guns.
10 | """
11 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/_types.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 | import typing
6 |
7 | from cryptography.hazmat.primitives.asymmetric import (
8 | dsa,
9 | ec,
10 | ed25519,
11 | ed448,
12 | rsa,
13 | )
14 |
15 |
16 | _PUBLIC_KEY_TYPES = typing.Union[
17 | dsa.DSAPublicKey,
18 | rsa.RSAPublicKey,
19 | ec.EllipticCurvePublicKey,
20 | ed25519.Ed25519PublicKey,
21 | ed448.Ed448PublicKey,
22 | ]
23 | _PRIVATE_KEY_TYPES = typing.Union[
24 | ed25519.Ed25519PrivateKey,
25 | ed448.Ed448PrivateKey,
26 | rsa.RSAPrivateKey,
27 | dsa.DSAPrivateKey,
28 | ec.EllipticCurvePrivateKey,
29 | ]
30 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/backends/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 | import typing
6 |
7 | _default_backend: typing.Any = None
8 |
9 |
10 | def default_backend():
11 | global _default_backend
12 |
13 | if _default_backend is None:
14 | from cryptography.hazmat.backends.openssl.backend import backend
15 |
16 | _default_backend = backend
17 |
18 | return _default_backend
19 |
20 |
21 | def _get_backend(backend):
22 | if backend is None:
23 | return default_backend()
24 | else:
25 | return backend
26 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/backends/openssl/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | from cryptography.hazmat.backends.openssl.backend import backend
7 |
8 |
9 | __all__ = ["backend"]
10 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_openssl.abi3.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_openssl.abi3.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_openssl.pypy37-pp73-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_openssl.pypy37-pp73-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_padding.abi3.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_padding.abi3.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_padding.pyd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_padding.pyd
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_padding.pypy37-pp73-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_padding.pypy37-pp73-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_rust.abi3.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_rust.abi3.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_rust.pyd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_rust.pyd
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_rust.pypy37-pp73-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/_rust.pypy37-pp73-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/bindings/openssl/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/_asymmetric.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 | import abc
6 |
7 |
8 | # This exists to break an import cycle. It is normally accessible from the
9 | # asymmetric padding module.
10 |
11 |
12 | class AsymmetricPadding(metaclass=abc.ABCMeta):
13 | @abc.abstractproperty
14 | def name(self) -> str:
15 | """
16 | A string naming this padding (e.g. "PSS", "PKCS1").
17 | """
18 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/_cipheralgorithm.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 | import abc
6 | import typing
7 |
8 |
9 | # This exists to break an import cycle. It is normally accessible from the
10 | # ciphers module.
11 |
12 |
13 | class CipherAlgorithm(metaclass=abc.ABCMeta):
14 | @abc.abstractproperty
15 | def name(self) -> str:
16 | """
17 | A string naming this mode (e.g. "AES", "Camellia").
18 | """
19 |
20 | @abc.abstractproperty
21 | def key_sizes(self) -> typing.FrozenSet[int]:
22 | """
23 | Valid key sizes for this algorithm in bits
24 | """
25 |
26 | @abc.abstractproperty
27 | def key_size(self) -> int:
28 | """
29 | The size of the key being used as an integer in bits (e.g. 128, 256).
30 | """
31 |
32 |
33 | class BlockCipherAlgorithm(metaclass=abc.ABCMeta):
34 | @abc.abstractproperty
35 | def block_size(self) -> int:
36 | """
37 | The size of a block as an integer in bits (e.g. 64, 128).
38 | """
39 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/_serialization.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 | import abc
6 | from enum import Enum
7 |
8 | # This exists to break an import cycle. These classes are normally accessible
9 | # from the serialization module.
10 |
11 |
12 | class Encoding(Enum):
13 | PEM = "PEM"
14 | DER = "DER"
15 | OpenSSH = "OpenSSH"
16 | Raw = "Raw"
17 | X962 = "ANSI X9.62"
18 | SMIME = "S/MIME"
19 |
20 |
21 | class PrivateFormat(Enum):
22 | PKCS8 = "PKCS8"
23 | TraditionalOpenSSL = "TraditionalOpenSSL"
24 | Raw = "Raw"
25 | OpenSSH = "OpenSSH"
26 |
27 |
28 | class PublicFormat(Enum):
29 | SubjectPublicKeyInfo = "X.509 subjectPublicKeyInfo with PKCS#1"
30 | PKCS1 = "Raw PKCS#1"
31 | OpenSSH = "OpenSSH"
32 | Raw = "Raw"
33 | CompressedPoint = "X9.62 Compressed Point"
34 | UncompressedPoint = "X9.62 Uncompressed Point"
35 |
36 |
37 | class ParameterFormat(Enum):
38 | PKCS3 = "PKCS3"
39 |
40 |
41 | class KeySerializationEncryption(metaclass=abc.ABCMeta):
42 | pass
43 |
44 |
45 | class BestAvailableEncryption(KeySerializationEncryption):
46 | def __init__(self, password: bytes):
47 | if not isinstance(password, bytes) or len(password) == 0:
48 | raise ValueError("Password must be 1 or more bytes.")
49 |
50 | self.password = password
51 |
52 |
53 | class NoEncryption(KeySerializationEncryption):
54 | pass
55 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/asymmetric/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import abc
7 |
8 |
9 | class AsymmetricSignatureContext(metaclass=abc.ABCMeta):
10 | @abc.abstractmethod
11 | def update(self, data):
12 | """
13 | Processes the provided bytes and returns nothing.
14 | """
15 |
16 | @abc.abstractmethod
17 | def finalize(self):
18 | """
19 | Returns the signature as bytes.
20 | """
21 |
22 |
23 | class AsymmetricVerificationContext(metaclass=abc.ABCMeta):
24 | @abc.abstractmethod
25 | def update(self, data):
26 | """
27 | Processes the provided bytes and returns nothing.
28 | """
29 |
30 | @abc.abstractmethod
31 | def verify(self):
32 | """
33 | Raises an exception if the bytes provided to update do not match the
34 | signature or the signature does not match the public key.
35 | """
36 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/asymmetric/utils.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import typing
7 |
8 | from cryptography import utils
9 | from cryptography.hazmat._der import (
10 | DERReader,
11 | INTEGER,
12 | SEQUENCE,
13 | encode_der,
14 | encode_der_integer,
15 | )
16 | from cryptography.hazmat.primitives import hashes
17 |
18 |
19 | def decode_dss_signature(signature: bytes) -> typing.Tuple[int, int]:
20 | with DERReader(signature).read_single_element(SEQUENCE) as seq:
21 | r = seq.read_element(INTEGER).as_integer()
22 | s = seq.read_element(INTEGER).as_integer()
23 | return r, s
24 |
25 |
26 | def encode_dss_signature(r: int, s: int) -> bytes:
27 | return encode_der(
28 | SEQUENCE,
29 | encode_der(INTEGER, encode_der_integer(r)),
30 | encode_der(INTEGER, encode_der_integer(s)),
31 | )
32 |
33 |
34 | class Prehashed(object):
35 | def __init__(self, algorithm: hashes.HashAlgorithm):
36 | if not isinstance(algorithm, hashes.HashAlgorithm):
37 | raise TypeError("Expected instance of HashAlgorithm.")
38 |
39 | self._algorithm = algorithm
40 | self._digest_size = algorithm.digest_size
41 |
42 | digest_size = utils.read_only_property("_digest_size")
43 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/ciphers/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | from cryptography.hazmat.primitives.ciphers.base import (
7 | AEADCipherContext,
8 | AEADDecryptionContext,
9 | AEADEncryptionContext,
10 | BlockCipherAlgorithm,
11 | Cipher,
12 | CipherAlgorithm,
13 | CipherContext,
14 | )
15 |
16 |
17 | __all__ = [
18 | "Cipher",
19 | "CipherAlgorithm",
20 | "BlockCipherAlgorithm",
21 | "CipherContext",
22 | "AEADCipherContext",
23 | "AEADDecryptionContext",
24 | "AEADEncryptionContext",
25 | ]
26 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/constant_time.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import hmac
7 |
8 |
9 | def bytes_eq(a: bytes, b: bytes) -> bool:
10 | if not isinstance(a, bytes) or not isinstance(b, bytes):
11 | raise TypeError("a and b must be bytes.")
12 |
13 | return hmac.compare_digest(a, b)
14 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/kdf/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import abc
7 |
8 |
9 | class KeyDerivationFunction(metaclass=abc.ABCMeta):
10 | @abc.abstractmethod
11 | def derive(self, key_material: bytes) -> bytes:
12 | """
13 | Deterministically generates and returns a new key based on the existing
14 | key material.
15 | """
16 |
17 | @abc.abstractmethod
18 | def verify(self, key_material: bytes, expected_key: bytes) -> None:
19 | """
20 | Checks whether the key generated by the key material matches the
21 | expected derived key. Raises an exception if they do not match.
22 | """
23 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/serialization/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | from cryptography.hazmat.primitives._serialization import (
7 | BestAvailableEncryption,
8 | Encoding,
9 | KeySerializationEncryption,
10 | NoEncryption,
11 | ParameterFormat,
12 | PrivateFormat,
13 | PublicFormat,
14 | )
15 | from cryptography.hazmat.primitives.serialization.base import (
16 | load_der_parameters,
17 | load_der_private_key,
18 | load_der_public_key,
19 | load_pem_parameters,
20 | load_pem_private_key,
21 | load_pem_public_key,
22 | )
23 | from cryptography.hazmat.primitives.serialization.ssh import (
24 | load_ssh_private_key,
25 | load_ssh_public_key,
26 | )
27 |
28 |
29 | __all__ = [
30 | "load_der_parameters",
31 | "load_der_private_key",
32 | "load_der_public_key",
33 | "load_pem_parameters",
34 | "load_pem_private_key",
35 | "load_pem_public_key",
36 | "load_ssh_private_key",
37 | "load_ssh_public_key",
38 | "Encoding",
39 | "PrivateFormat",
40 | "PublicFormat",
41 | "ParameterFormat",
42 | "KeySerializationEncryption",
43 | "BestAvailableEncryption",
44 | "NoEncryption",
45 | ]
46 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/serialization/base.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import typing
7 |
8 | from cryptography.hazmat._types import (
9 | _PRIVATE_KEY_TYPES,
10 | _PUBLIC_KEY_TYPES,
11 | )
12 | from cryptography.hazmat.backends import _get_backend
13 | from cryptography.hazmat.primitives.asymmetric import dh
14 |
15 |
16 | def load_pem_private_key(
17 | data: bytes, password: typing.Optional[bytes], backend=None
18 | ) -> _PRIVATE_KEY_TYPES:
19 | backend = _get_backend(backend)
20 | return backend.load_pem_private_key(data, password)
21 |
22 |
23 | def load_pem_public_key(data: bytes, backend=None) -> _PUBLIC_KEY_TYPES:
24 | backend = _get_backend(backend)
25 | return backend.load_pem_public_key(data)
26 |
27 |
28 | def load_pem_parameters(data: bytes, backend=None) -> "dh.DHParameters":
29 | backend = _get_backend(backend)
30 | return backend.load_pem_parameters(data)
31 |
32 |
33 | def load_der_private_key(
34 | data: bytes, password: typing.Optional[bytes], backend=None
35 | ) -> _PRIVATE_KEY_TYPES:
36 | backend = _get_backend(backend)
37 | return backend.load_der_private_key(data, password)
38 |
39 |
40 | def load_der_public_key(data: bytes, backend=None) -> _PUBLIC_KEY_TYPES:
41 | backend = _get_backend(backend)
42 | return backend.load_der_public_key(data)
43 |
44 |
45 | def load_der_parameters(data: bytes, backend=None) -> "dh.DHParameters":
46 | backend = _get_backend(backend)
47 | return backend.load_der_parameters(data)
48 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/twofactor/__init__.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | class InvalidToken(Exception):
7 | pass
8 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/hazmat/primitives/twofactor/utils.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import base64
7 | import typing
8 | from urllib.parse import quote, urlencode
9 |
10 |
11 | def _generate_uri(
12 | hotp,
13 | type_name: str,
14 | account_name: str,
15 | issuer: typing.Optional[str],
16 | extra_parameters,
17 | ) -> str:
18 | parameters = [
19 | ("digits", hotp._length),
20 | ("secret", base64.b32encode(hotp._key)),
21 | ("algorithm", hotp._algorithm.name.upper()),
22 | ]
23 |
24 | if issuer is not None:
25 | parameters.append(("issuer", issuer))
26 |
27 | parameters.extend(extra_parameters)
28 |
29 | uriparts = {
30 | "type": type_name,
31 | "label": (
32 | "%s:%s" % (quote(issuer), quote(account_name))
33 | if issuer
34 | else quote(account_name)
35 | ),
36 | "parameters": urlencode(parameters),
37 | }
38 | return "otpauth://{type}/{label}?{parameters}".format(**uriparts)
39 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/py.typed:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/py.typed
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/cryptography/x509/certificate_transparency.py:
--------------------------------------------------------------------------------
1 | # This file is dual licensed under the terms of the Apache License, Version
2 | # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3 | # for complete details.
4 |
5 |
6 | import abc
7 | import datetime
8 | from enum import Enum
9 |
10 |
11 | class LogEntryType(Enum):
12 | X509_CERTIFICATE = 0
13 | PRE_CERTIFICATE = 1
14 |
15 |
16 | class Version(Enum):
17 | v1 = 0
18 |
19 |
20 | class SignedCertificateTimestamp(metaclass=abc.ABCMeta):
21 | @abc.abstractproperty
22 | def version(self) -> Version:
23 | """
24 | Returns the SCT version.
25 | """
26 |
27 | @abc.abstractproperty
28 | def log_id(self) -> bytes:
29 | """
30 | Returns an identifier indicating which log this SCT is for.
31 | """
32 |
33 | @abc.abstractproperty
34 | def timestamp(self) -> datetime.datetime:
35 | """
36 | Returns the timestamp for this SCT.
37 | """
38 |
39 | @abc.abstractproperty
40 | def entry_type(self) -> LogEntryType:
41 | """
42 | Returns whether this is an SCT for a certificate or pre-certificate.
43 | """
44 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/jose/__init__.py:
--------------------------------------------------------------------------------
1 | __version__ = "3.3.0"
2 | __author__ = "Michael Davis"
3 | __license__ = "MIT"
4 | __copyright__ = "Copyright 2016 Michael Davis"
5 |
6 |
7 | from .exceptions import ExpiredSignatureError # noqa: F401
8 | from .exceptions import JOSEError # noqa: F401
9 | from .exceptions import JWSError # noqa: F401
10 | from .exceptions import JWTError # noqa: F401
11 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/jose/backends/__init__.py:
--------------------------------------------------------------------------------
1 | try:
2 | from jose.backends.cryptography_backend import get_random_bytes # noqa: F401
3 | except ImportError:
4 | try:
5 | from jose.backends.pycrypto_backend import get_random_bytes # noqa: F401
6 | except ImportError:
7 | from jose.backends.native import get_random_bytes # noqa: F401
8 |
9 | try:
10 | from jose.backends.cryptography_backend import CryptographyRSAKey as RSAKey # noqa: F401
11 | except ImportError:
12 | try:
13 | from jose.backends.rsa_backend import RSAKey # noqa: F401
14 | except ImportError:
15 | RSAKey = None
16 |
17 | try:
18 | from jose.backends.cryptography_backend import CryptographyECKey as ECKey # noqa: F401
19 | except ImportError:
20 | from jose.backends.ecdsa_backend import ECDSAECKey as ECKey # noqa: F401
21 |
22 | try:
23 | from jose.backends.cryptography_backend import CryptographyAESKey as AESKey # noqa: F401
24 | except ImportError:
25 | AESKey = None
26 |
27 | try:
28 | from jose.backends.cryptography_backend import CryptographyHMACKey as HMACKey # noqa: F401
29 | except ImportError:
30 | from jose.backends.native import HMACKey # noqa: F401
31 |
32 | from .base import DIRKey # noqa: F401
33 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/jose/exceptions.py:
--------------------------------------------------------------------------------
1 | class JOSEError(Exception):
2 | pass
3 |
4 |
5 | class JWSError(JOSEError):
6 | pass
7 |
8 |
9 | class JWSSignatureError(JWSError):
10 | pass
11 |
12 |
13 | class JWSAlgorithmError(JWSError):
14 | pass
15 |
16 |
17 | class JWTError(JOSEError):
18 | pass
19 |
20 |
21 | class JWTClaimsError(JWTError):
22 | pass
23 |
24 |
25 | class ExpiredSignatureError(JWTError):
26 | pass
27 |
28 |
29 | class JWKError(JOSEError):
30 | pass
31 |
32 |
33 | class JWEError(JOSEError):
34 | """Base error for all JWE errors"""
35 |
36 | pass
37 |
38 |
39 | class JWEParseError(JWEError):
40 | """Could not parse the JWE string provided"""
41 |
42 | pass
43 |
44 |
45 | class JWEInvalidAuth(JWEError):
46 | """
47 | The authentication tag did not match the protected sections of the
48 | JWE string provided
49 | """
50 |
51 | pass
52 |
53 |
54 | class JWEAlgorithmUnsupportedError(JWEError):
55 | """
56 | The JWE algorithm is not supported by the backend
57 | """
58 |
59 | pass
60 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pyOpenSSL-20.0.1.dist-info/INSTALLER:
--------------------------------------------------------------------------------
1 | pip
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pyOpenSSL-20.0.1.dist-info/RECORD:
--------------------------------------------------------------------------------
1 | OpenSSL/SSL.py,sha256=hzrH-ZpQ1E_TNMa0ZRHHpNtBoq50aVc-8m9o_TUW5cg,85169
2 | OpenSSL/__init__.py,sha256=yLB6P6M4uI5LpYpd6H6vk4bON9VBBMauX5UZvp5q3J8,498
3 | OpenSSL/__pycache__/SSL.cpython-37.pyc,,
4 | OpenSSL/__pycache__/__init__.cpython-37.pyc,,
5 | OpenSSL/__pycache__/_util.cpython-37.pyc,,
6 | OpenSSL/__pycache__/crypto.cpython-37.pyc,,
7 | OpenSSL/__pycache__/debug.cpython-37.pyc,,
8 | OpenSSL/__pycache__/rand.cpython-37.pyc,,
9 | OpenSSL/__pycache__/version.cpython-37.pyc,,
10 | OpenSSL/_util.py,sha256=uju8FEWyrsV90m2xj5A9VAKgJkivrcBCGvupveMeN1o,4229
11 | OpenSSL/crypto.py,sha256=Ywxs5-fHmt5a6ROyLb7fETeM2NL9PE-TLKy5nwDSl-A,104508
12 | OpenSSL/debug.py,sha256=K9CVsRfD9naMS_tlriaaxr9SLFYIo6MWWq7XqBzB71Q,1048
13 | OpenSSL/rand.py,sha256=9CGox0RJbrrdH1L7SisEQYhcOp0ygphuI801OzYwSoE,1042
14 | OpenSSL/version.py,sha256=yqWwc9mf7s7qX53OKM9AM4M8p9rFVjodxOoSqj5ra3o,650
15 | pyOpenSSL-20.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
16 | pyOpenSSL-20.0.1.dist-info/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
17 | pyOpenSSL-20.0.1.dist-info/METADATA,sha256=MF6jvBA9RZGpiclB5DAdZxPD5XPWD3CT5FXImDXAH0A,6689
18 | pyOpenSSL-20.0.1.dist-info/RECORD,,
19 | pyOpenSSL-20.0.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20 | pyOpenSSL-20.0.1.dist-info/WHEEL,sha256=ADKeyaGyKF5DwBNE0sRE5pvW-bSkFMJfBuhzZ3rceP4,110
21 | pyOpenSSL-20.0.1.dist-info/top_level.txt,sha256=NNxWqS8hKNJh2cUXa1RZOMX62VJfyd8URo1TsYnR_MU,8
22 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pyOpenSSL-20.0.1.dist-info/REQUESTED:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pyOpenSSL-20.0.1.dist-info/REQUESTED
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pyOpenSSL-20.0.1.dist-info/WHEEL:
--------------------------------------------------------------------------------
1 | Wheel-Version: 1.0
2 | Generator: bdist_wheel (0.35.1)
3 | Root-Is-Purelib: true
4 | Tag: py2-none-any
5 | Tag: py3-none-any
6 |
7 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pyOpenSSL-20.0.1.dist-info/top_level.txt:
--------------------------------------------------------------------------------
1 | OpenSSL
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser-2.20.dist-info/INSTALLER:
--------------------------------------------------------------------------------
1 | pip
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser-2.20.dist-info/LICENSE:
--------------------------------------------------------------------------------
1 | pycparser -- A C parser in Python
2 |
3 | Copyright (c) 2008-2017, Eli Bendersky
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without modification,
7 | are permitted provided that the following conditions are met:
8 |
9 | * Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 | * Redistributions in binary form must reproduce the above copyright notice,
12 | this list of conditions and the following disclaimer in the documentation
13 | and/or other materials provided with the distribution.
14 | * Neither the name of Eli Bendersky nor the names of its contributors may
15 | be used to endorse or promote products derived from this software without
16 | specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
24 | GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
27 | OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser-2.20.dist-info/METADATA:
--------------------------------------------------------------------------------
1 | Metadata-Version: 2.1
2 | Name: pycparser
3 | Version: 2.20
4 | Summary: C parser in Python
5 | Home-page: https://github.com/eliben/pycparser
6 | Author: Eli Bendersky
7 | Author-email: eliben@gmail.com
8 | Maintainer: Eli Bendersky
9 | License: BSD
10 | Platform: Cross Platform
11 | Classifier: Development Status :: 5 - Production/Stable
12 | Classifier: License :: OSI Approved :: BSD License
13 | Classifier: Programming Language :: Python :: 2
14 | Classifier: Programming Language :: Python :: 2.7
15 | Classifier: Programming Language :: Python :: 3
16 | Classifier: Programming Language :: Python :: 3.4
17 | Classifier: Programming Language :: Python :: 3.5
18 | Classifier: Programming Language :: Python :: 3.6
19 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
20 |
21 |
22 | pycparser is a complete parser of the C language, written in
23 | pure Python using the PLY parsing library.
24 | It parses C code into an AST and can serve as a front-end for
25 | C compilers or analysis tools.
26 |
27 |
28 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser-2.20.dist-info/WHEEL:
--------------------------------------------------------------------------------
1 | Wheel-Version: 1.0
2 | Generator: bdist_wheel (0.34.2)
3 | Root-Is-Purelib: true
4 | Tag: py2-none-any
5 | Tag: py3-none-any
6 |
7 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser-2.20.dist-info/top_level.txt:
--------------------------------------------------------------------------------
1 | pycparser
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser/_build_tables.py:
--------------------------------------------------------------------------------
1 | #-----------------------------------------------------------------
2 | # pycparser: _build_tables.py
3 | #
4 | # A dummy for generating the lexing/parsing tables and and
5 | # compiling them into .pyc for faster execution in optimized mode.
6 | # Also generates AST code from the configuration file.
7 | # Should be called from the pycparser directory.
8 | #
9 | # Eli Bendersky [https://eli.thegreenplace.net/]
10 | # License: BSD
11 | #-----------------------------------------------------------------
12 |
13 | # Insert '.' and '..' as first entries to the search path for modules.
14 | # Restricted environments like embeddable python do not include the
15 | # current working directory on startup.
16 | import sys
17 | sys.path[0:0] = ['.', '..']
18 |
19 | # Generate c_ast.py
20 | from _ast_gen import ASTCodeGenerator
21 | ast_gen = ASTCodeGenerator('_c_ast.cfg')
22 | ast_gen.generate(open('c_ast.py', 'w'))
23 |
24 | from pycparser import c_parser
25 |
26 | # Generates the tables
27 | #
28 | c_parser.CParser(
29 | lex_optimize=True,
30 | yacc_debug=False,
31 | yacc_optimize=True)
32 |
33 | # Load to compile into .pyc
34 | #
35 | import lextab
36 | import yacctab
37 | import c_ast
38 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/pycparser/ply/__init__.py:
--------------------------------------------------------------------------------
1 | # PLY package
2 | # Author: David Beazley (dave@dabeaz.com)
3 |
4 | __version__ = '3.9'
5 | __all__ = ['lex','yacc']
6 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/python_jose-3.3.0.dist-info/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Michael Davis
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/python_jose-3.3.0.dist-info/RECORD:
--------------------------------------------------------------------------------
1 | jose/__init__.py,sha256=0XQau8AXQwNwztdDWVr6l7PyWq9w0qN1R0PGcrsMIGM,322
2 | jose/constants.py,sha256=A0yHNjsby-YVOeKhcoN0rxoM8bai1JlVDvZx82UCZeE,2596
3 | jose/exceptions.py,sha256=K_ueFBsmTwQySE0CU09iMthOAdPaTQ_HvzRz9lYT1ls,791
4 | jose/jwe.py,sha256=jSBN3aT2D7xAQ3D-5cVf_9kZebchAI3qoaf-3yMLanY,21976
5 | jose/jwk.py,sha256=3A1dXXfhGIMQvT43EBAQgiShQZuqLpUZk_xWvW7c9cs,2024
6 | jose/jws.py,sha256=qgMDRIlyGbGfAGApQfuAL5Qr66Qqa8aYUC3qUO8qM_g,7820
7 | jose/jwt.py,sha256=7czQxPsfOavLpY6jJTetdPN_FQDcZmmkaZ2QtV3bVPw,17310
8 | jose/utils.py,sha256=_doSyRne-OygjSI3Iz1kWTSGnwVHHMA6_wYHOS1rhCw,3190
9 | jose/backends/__init__.py,sha256=yDExDpMlV6U4IBgk2Emov6cpQ2zQftFEh0J3yGaV2Lo,1091
10 | jose/backends/_asn1.py,sha256=etzWxBjkt0Et19_IQ92Pj61bAe0nCgPN7bTvSuz8W3s,2655
11 | jose/backends/base.py,sha256=0kuposKfixAR2W3enKuYdqEZpVG56ODOQDEdgq_pmvs,2224
12 | jose/backends/cryptography_backend.py,sha256=28-792EKVGjjq2nUoCWdfyPGkoXfWN5vHFO7uolCtog,22763
13 | jose/backends/ecdsa_backend.py,sha256=ORORepIpIS9D4s6Vtmhli5GZV9kj3CJj2_Mv0ARKGqE,5055
14 | jose/backends/native.py,sha256=9zyounmjG1ZgVJYkseMcDosJOBILLRyu_UbzhH7ZZ1o,2289
15 | jose/backends/rsa_backend.py,sha256=RKIC_bphhe52t2D_jEINO_ngj50ty9wXnv7cVO1EmdE,10942
16 | python_jose-3.3.0.dist-info/LICENSE,sha256=peYY7ubUlvd62K5w_qbt8UgVlVji0ih4fZB2yQCi-SY,1081
17 | python_jose-3.3.0.dist-info/METADATA,sha256=Sk_zCqxtDfFMG5lAL6EG7Br3KP0yhtw_IsJBwZaDliM,5403
18 | python_jose-3.3.0.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110
19 | python_jose-3.3.0.dist-info/top_level.txt,sha256=WIdGzeaROX_xI9hGqyB3h4KKXKGKU2XmV1XphZWIrD8,19
20 | python_jose-3.3.0.dist-info/RECORD,,
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/python_jose-3.3.0.dist-info/WHEEL:
--------------------------------------------------------------------------------
1 | Wheel-Version: 1.0
2 | Generator: bdist_wheel (0.36.2)
3 | Root-Is-Purelib: true
4 | Tag: py2-none-any
5 | Tag: py3-none-any
6 |
7 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/CryptoLambdaLayer/python/python_jose-3.3.0.dist-info/top_level.txt:
--------------------------------------------------------------------------------
1 | jose
2 | jose/backends
3 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/BufrStubImagePlugin.py:
--------------------------------------------------------------------------------
1 | #
2 | # The Python Imaging Library
3 | # $Id$
4 | #
5 | # BUFR stub adapter
6 | #
7 | # Copyright (c) 1996-2003 by Fredrik Lundh
8 | #
9 | # See the README file for information on usage and redistribution.
10 | #
11 |
12 | from . import Image, ImageFile
13 |
14 | _handler = None
15 |
16 |
17 | def register_handler(handler):
18 | """
19 | Install application-specific BUFR image handler.
20 |
21 | :param handler: Handler object.
22 | """
23 | global _handler
24 | _handler = handler
25 |
26 |
27 | # --------------------------------------------------------------------
28 | # Image adapter
29 |
30 |
31 | def _accept(prefix):
32 | return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC"
33 |
34 |
35 | class BufrStubImageFile(ImageFile.StubImageFile):
36 |
37 | format = "BUFR"
38 | format_description = "BUFR"
39 |
40 | def _open(self):
41 |
42 | offset = self.fp.tell()
43 |
44 | if not _accept(self.fp.read(4)):
45 | raise SyntaxError("Not a BUFR file")
46 |
47 | self.fp.seek(offset)
48 |
49 | # make something up
50 | self.mode = "F"
51 | self._size = 1, 1
52 |
53 | loader = self._load()
54 | if loader:
55 | loader.open(self)
56 |
57 | def _load(self):
58 | return _handler
59 |
60 |
61 | def _save(im, fp, filename):
62 | if _handler is None or not hasattr("_handler", "save"):
63 | raise OSError("BUFR save handler not installed")
64 | _handler.save(im, fp, filename)
65 |
66 |
67 | # --------------------------------------------------------------------
68 | # Registry
69 |
70 | Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept)
71 | Image.register_save(BufrStubImageFile.format, _save)
72 |
73 | Image.register_extension(BufrStubImageFile.format, ".bufr")
74 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/GimpPaletteFile.py:
--------------------------------------------------------------------------------
1 | #
2 | # Python Imaging Library
3 | # $Id$
4 | #
5 | # stuff to read GIMP palette files
6 | #
7 | # History:
8 | # 1997-08-23 fl Created
9 | # 2004-09-07 fl Support GIMP 2.0 palette files.
10 | #
11 | # Copyright (c) Secret Labs AB 1997-2004. All rights reserved.
12 | # Copyright (c) Fredrik Lundh 1997-2004.
13 | #
14 | # See the README file for information on usage and redistribution.
15 | #
16 |
17 | import re
18 |
19 | from ._binary import o8
20 |
21 |
22 | class GimpPaletteFile:
23 | """File handler for GIMP's palette format."""
24 |
25 | rawmode = "RGB"
26 |
27 | def __init__(self, fp):
28 |
29 | self.palette = [o8(i) * 3 for i in range(256)]
30 |
31 | if fp.readline()[:12] != b"GIMP Palette":
32 | raise SyntaxError("not a GIMP palette file")
33 |
34 | for i in range(256):
35 |
36 | s = fp.readline()
37 | if not s:
38 | break
39 |
40 | # skip fields and comment lines
41 | if re.match(br"\w+:|#", s):
42 | continue
43 | if len(s) > 100:
44 | raise SyntaxError("bad palette file")
45 |
46 | v = tuple(map(int, s.split()[:3]))
47 | if len(v) != 3:
48 | raise ValueError("bad palette entry")
49 |
50 | self.palette[i] = o8(v[0]) + o8(v[1]) + o8(v[2])
51 |
52 | self.palette = b"".join(self.palette)
53 |
54 | def getpalette(self):
55 |
56 | return self.palette, self.rawmode
57 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/GribStubImagePlugin.py:
--------------------------------------------------------------------------------
1 | #
2 | # The Python Imaging Library
3 | # $Id$
4 | #
5 | # GRIB stub adapter
6 | #
7 | # Copyright (c) 1996-2003 by Fredrik Lundh
8 | #
9 | # See the README file for information on usage and redistribution.
10 | #
11 |
12 | from . import Image, ImageFile
13 |
14 | _handler = None
15 |
16 |
17 | def register_handler(handler):
18 | """
19 | Install application-specific GRIB image handler.
20 |
21 | :param handler: Handler object.
22 | """
23 | global _handler
24 | _handler = handler
25 |
26 |
27 | # --------------------------------------------------------------------
28 | # Image adapter
29 |
30 |
31 | def _accept(prefix):
32 | return prefix[0:4] == b"GRIB" and prefix[7] == 1
33 |
34 |
35 | class GribStubImageFile(ImageFile.StubImageFile):
36 |
37 | format = "GRIB"
38 | format_description = "GRIB"
39 |
40 | def _open(self):
41 |
42 | offset = self.fp.tell()
43 |
44 | if not _accept(self.fp.read(8)):
45 | raise SyntaxError("Not a GRIB file")
46 |
47 | self.fp.seek(offset)
48 |
49 | # make something up
50 | self.mode = "F"
51 | self._size = 1, 1
52 |
53 | loader = self._load()
54 | if loader:
55 | loader.open(self)
56 |
57 | def _load(self):
58 | return _handler
59 |
60 |
61 | def _save(im, fp, filename):
62 | if _handler is None or not hasattr("_handler", "save"):
63 | raise OSError("GRIB save handler not installed")
64 | _handler.save(im, fp, filename)
65 |
66 |
67 | # --------------------------------------------------------------------
68 | # Registry
69 |
70 | Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept)
71 | Image.register_save(GribStubImageFile.format, _save)
72 |
73 | Image.register_extension(GribStubImageFile.format, ".grib")
74 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/Hdf5StubImagePlugin.py:
--------------------------------------------------------------------------------
1 | #
2 | # The Python Imaging Library
3 | # $Id$
4 | #
5 | # HDF5 stub adapter
6 | #
7 | # Copyright (c) 2000-2003 by Fredrik Lundh
8 | #
9 | # See the README file for information on usage and redistribution.
10 | #
11 |
12 | from . import Image, ImageFile
13 |
14 | _handler = None
15 |
16 |
17 | def register_handler(handler):
18 | """
19 | Install application-specific HDF5 image handler.
20 |
21 | :param handler: Handler object.
22 | """
23 | global _handler
24 | _handler = handler
25 |
26 |
27 | # --------------------------------------------------------------------
28 | # Image adapter
29 |
30 |
31 | def _accept(prefix):
32 | return prefix[:8] == b"\x89HDF\r\n\x1a\n"
33 |
34 |
35 | class HDF5StubImageFile(ImageFile.StubImageFile):
36 |
37 | format = "HDF5"
38 | format_description = "HDF5"
39 |
40 | def _open(self):
41 |
42 | offset = self.fp.tell()
43 |
44 | if not _accept(self.fp.read(8)):
45 | raise SyntaxError("Not an HDF file")
46 |
47 | self.fp.seek(offset)
48 |
49 | # make something up
50 | self.mode = "F"
51 | self._size = 1, 1
52 |
53 | loader = self._load()
54 | if loader:
55 | loader.open(self)
56 |
57 | def _load(self):
58 | return _handler
59 |
60 |
61 | def _save(im, fp, filename):
62 | if _handler is None or not hasattr("_handler", "save"):
63 | raise OSError("HDF5 save handler not installed")
64 | _handler.save(im, fp, filename)
65 |
66 |
67 | # --------------------------------------------------------------------
68 | # Registry
69 |
70 | Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept)
71 | Image.register_save(HDF5StubImageFile.format, _save)
72 |
73 | Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"])
74 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/ImagePath.py:
--------------------------------------------------------------------------------
1 | #
2 | # The Python Imaging Library
3 | # $Id$
4 | #
5 | # path interface
6 | #
7 | # History:
8 | # 1996-11-04 fl Created
9 | # 2002-04-14 fl Added documentation stub class
10 | #
11 | # Copyright (c) Secret Labs AB 1997.
12 | # Copyright (c) Fredrik Lundh 1996.
13 | #
14 | # See the README file for information on usage and redistribution.
15 | #
16 |
17 | from . import Image
18 |
19 | Path = Image.core.path
20 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/PaletteFile.py:
--------------------------------------------------------------------------------
1 | #
2 | # Python Imaging Library
3 | # $Id$
4 | #
5 | # stuff to read simple, teragon-style palette files
6 | #
7 | # History:
8 | # 97-08-23 fl Created
9 | #
10 | # Copyright (c) Secret Labs AB 1997.
11 | # Copyright (c) Fredrik Lundh 1997.
12 | #
13 | # See the README file for information on usage and redistribution.
14 | #
15 |
16 | from ._binary import o8
17 |
18 |
19 | class PaletteFile:
20 | """File handler for Teragon-style palette files."""
21 |
22 | rawmode = "RGB"
23 |
24 | def __init__(self, fp):
25 |
26 | self.palette = [(i, i, i) for i in range(256)]
27 |
28 | while True:
29 |
30 | s = fp.readline()
31 |
32 | if not s:
33 | break
34 | if s[0:1] == b"#":
35 | continue
36 | if len(s) > 100:
37 | raise SyntaxError("bad palette file")
38 |
39 | v = [int(x) for x in s.split()]
40 | try:
41 | [i, r, g, b] = v
42 | except ValueError:
43 | [i, r] = v
44 | g = b = r
45 |
46 | if 0 <= i <= 255:
47 | self.palette[i] = o8(r) + o8(g) + o8(b)
48 |
49 | self.palette = b"".join(self.palette)
50 |
51 | def getpalette(self):
52 |
53 | return self.palette, self.rawmode
54 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/PcdImagePlugin.py:
--------------------------------------------------------------------------------
1 | #
2 | # The Python Imaging Library.
3 | # $Id$
4 | #
5 | # PCD file handling
6 | #
7 | # History:
8 | # 96-05-10 fl Created
9 | # 96-05-27 fl Added draft mode (128x192, 256x384)
10 | #
11 | # Copyright (c) Secret Labs AB 1997.
12 | # Copyright (c) Fredrik Lundh 1996.
13 | #
14 | # See the README file for information on usage and redistribution.
15 | #
16 |
17 |
18 | from . import Image, ImageFile
19 |
20 | ##
21 | # Image plugin for PhotoCD images. This plugin only reads the 768x512
22 | # image from the file; higher resolutions are encoded in a proprietary
23 | # encoding.
24 |
25 |
26 | class PcdImageFile(ImageFile.ImageFile):
27 |
28 | format = "PCD"
29 | format_description = "Kodak PhotoCD"
30 |
31 | def _open(self):
32 |
33 | # rough
34 | self.fp.seek(2048)
35 | s = self.fp.read(2048)
36 |
37 | if s[:4] != b"PCD_":
38 | raise SyntaxError("not a PCD file")
39 |
40 | orientation = s[1538] & 3
41 | self.tile_post_rotate = None
42 | if orientation == 1:
43 | self.tile_post_rotate = 90
44 | elif orientation == 3:
45 | self.tile_post_rotate = -90
46 |
47 | self.mode = "RGB"
48 | self._size = 768, 512 # FIXME: not correct for rotated images!
49 | self.tile = [("pcd", (0, 0) + self.size, 96 * 2048, None)]
50 |
51 | def load_end(self):
52 | if self.tile_post_rotate:
53 | # Handle rotated PCDs
54 | self.im = self.im.rotate(self.tile_post_rotate)
55 | self._size = self.im.size
56 |
57 |
58 | #
59 | # registry
60 |
61 | Image.register_open(PcdImageFile.format, PcdImageFile)
62 |
63 | Image.register_extension(PcdImageFile.format, ".pcd")
64 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/TarIO.py:
--------------------------------------------------------------------------------
1 | #
2 | # The Python Imaging Library.
3 | # $Id$
4 | #
5 | # read files from within a tar file
6 | #
7 | # History:
8 | # 95-06-18 fl Created
9 | # 96-05-28 fl Open files in binary mode
10 | #
11 | # Copyright (c) Secret Labs AB 1997.
12 | # Copyright (c) Fredrik Lundh 1995-96.
13 | #
14 | # See the README file for information on usage and redistribution.
15 | #
16 |
17 | import io
18 |
19 | from . import ContainerIO
20 |
21 |
22 | class TarIO(ContainerIO.ContainerIO):
23 | """A file object that provides read access to a given member of a TAR file."""
24 |
25 | def __init__(self, tarfile, file):
26 | """
27 | Create file object.
28 |
29 | :param tarfile: Name of TAR file.
30 | :param file: Name of member file.
31 | """
32 | self.fh = open(tarfile, "rb")
33 |
34 | while True:
35 |
36 | s = self.fh.read(512)
37 | if len(s) != 512:
38 | raise OSError("unexpected end of tar file")
39 |
40 | name = s[:100].decode("utf-8")
41 | i = name.find("\0")
42 | if i == 0:
43 | raise OSError("cannot find subfile")
44 | if i > 0:
45 | name = name[:i]
46 |
47 | size = int(s[124:135], 8)
48 |
49 | if file == name:
50 | break
51 |
52 | self.fh.seek((size + 511) & (~511), io.SEEK_CUR)
53 |
54 | # Open region
55 | super().__init__(self.fh, self.fh.tell(), size)
56 |
57 | # Context manager support
58 | def __enter__(self):
59 | return self
60 |
61 | def __exit__(self, *args):
62 | self.close()
63 |
64 | def close(self):
65 | self.fh.close()
66 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/__main__.py:
--------------------------------------------------------------------------------
1 | from .features import pilinfo
2 |
3 | pilinfo()
4 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imaging.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imaging.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingcms.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingcms.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingft.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingft.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingmath.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingmath.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingmorph.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingmorph.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingtk.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_imagingtk.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_tkinter_finder.py:
--------------------------------------------------------------------------------
1 | """ Find compiled module linking to Tcl / Tk libraries
2 | """
3 | import sys
4 | import tkinter
5 | import warnings
6 | from tkinter import _tkinter as tk
7 |
8 | if hasattr(sys, "pypy_find_executable"):
9 | TKINTER_LIB = tk.tklib_cffi.__file__
10 | else:
11 | TKINTER_LIB = tk.__file__
12 |
13 | tk_version = str(tkinter.TkVersion)
14 | if tk_version == "8.4":
15 | warnings.warn(
16 | "Support for Tk/Tcl 8.4 is deprecated and will be removed"
17 | " in Pillow 10 (2023-07-01). Please upgrade to Tk/Tcl 8.5 "
18 | "or newer.",
19 | DeprecationWarning,
20 | )
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_util.py:
--------------------------------------------------------------------------------
1 | import os
2 | from pathlib import Path
3 |
4 |
5 | def isPath(f):
6 | return isinstance(f, (bytes, str, Path))
7 |
8 |
9 | # Checks if an object is a string, and that it points to a directory.
10 | def isDirectory(f):
11 | return isPath(f) and os.path.isdir(f)
12 |
13 |
14 | class deferred_error:
15 | def __init__(self, ex):
16 | self.ex = ex
17 |
18 | def __getattr__(self, elt):
19 | raise self.ex
20 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_version.py:
--------------------------------------------------------------------------------
1 | # Master version for Pillow
2 | __version__ = "9.0.1"
3 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_webp.cpython-37m-x86_64-linux-gnu.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/PIL/_webp.cpython-37m-x86_64-linux-gnu.so
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow-9.0.1.dist-info/WHEEL:
--------------------------------------------------------------------------------
1 | Wheel-Version: 1.0
2 | Generator: bdist_wheel (0.37.1)
3 | Root-Is-Purelib: false
4 | Tag: cp37-cp37m-manylinux_2_17_x86_64
5 | Tag: cp37-cp37m-manylinux2014_x86_64
6 |
7 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow-9.0.1.dist-info/top_level.txt:
--------------------------------------------------------------------------------
1 | PIL
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow-9.0.1.dist-info/zip-safe:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libXau-00ec42fe.so.6.0.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libXau-00ec42fe.so.6.0.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libfreetype-a029e222.so.6.18.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libfreetype-a029e222.so.6.18.1
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libharfbuzz-851aa43c.so.0.30200.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libharfbuzz-851aa43c.so.0.30200.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libjpeg-62ed1500.so.62.3.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libjpeg-62ed1500.so.62.3.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/liblcms2-5ee890d7.so.2.0.13:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/liblcms2-5ee890d7.so.2.0.13
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/liblzma-d540a118.so.5.2.5:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/liblzma-d540a118.so.5.2.5
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libopenjp2-430a98fc.so.2.4.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libopenjp2-430a98fc.so.2.4.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libpng16-213e245f.so.16.37.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libpng16-213e245f.so.16.37.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libtiff-8e99fb9e.so.5.7.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libtiff-8e99fb9e.so.5.7.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libwebp-8efe125f.so.7.1.3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libwebp-8efe125f.so.7.1.3
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libwebpdemux-016472e8.so.2.0.9:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libwebpdemux-016472e8.so.2.0.9
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libwebpmux-5c00cf3e.so.3.0.8:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libwebpmux-5c00cf3e.so.3.0.8
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libxcb-1122e22b.so.1.1.0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libxcb-1122e22b.so.1.1.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libz-dd453c56.so.1.2.11:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ImageProcessingLambdaLayer/python/Pillow.libs/libz-dd453c56.so.1.2.11
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ResourceManagementLambdaLayer/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = [
3 | "setuptools>=42",
4 | "wheel"
5 | ]
6 | build-backend = "setuptools.build_meta"
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ResourceManagementLambdaLayer/python/gamekitresourcemanagement/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layers/main/ResourceManagementLambdaLayer/python/gamekitresourcemanagement/__init__.py
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layers/main/ResourceManagementLambdaLayer/setup.cfg:
--------------------------------------------------------------------------------
1 | [metadata]
2 | name = gamekitresourcemanagement
3 | version = 1.0.0
4 | author = AWS Game Tech
5 | description = AWS GameKit Resource Management Package
6 |
7 | [options]
8 | package_dir =
9 | = python
10 | packages = find:
11 | python_requires = >=3.7
12 |
13 | [options.packages.find]
14 | where = python
15 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layersTests/test_CommonLambdaLayer/__init__.py:
--------------------------------------------------------------------------------
1 | # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | # SPDX-License-Identifier: Apache-2.0
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layersTests/test_CommonLambdaLayer/test_pagination.py:
--------------------------------------------------------------------------------
1 | import time
2 | from base64 import b64decode, b64encode
3 | from unittest import TestCase, mock
4 |
5 | from layers.main.CommonLambdaLayer.python.gamekithelpers import pagination
6 |
7 |
8 | class TestPagination(TestCase):
9 |
10 | def setUp(self):
11 | self.player_id = "foo"
12 | self.start_key = {"bar": "baz"}
13 | self.token = pagination.generate_pagination_token(self.player_id, self.start_key)
14 |
15 | def test_validate_pagination_token(self):
16 | self.assertTrue(pagination.validate_pagination_token(self.player_id, self.start_key, self.token))
17 |
18 | def test_rejects_tampered_expired_at(self):
19 | digest, expires_at = b64decode(self.token).decode().split(":")
20 | expires_at = str(int(expires_at) + 300) #attempt to extend it another 5 minutes
21 | tampered_token = b64encode(":".join([digest, expires_at]).encode()).decode()
22 | self.assertFalse(pagination.validate_pagination_token(self.player_id, self.start_key, tampered_token))
23 |
24 | def test_rejects_with_no_paging_token(self):
25 | self.assertFalse(pagination.validate_pagination_token(self.player_id, self.start_key, None))
26 |
27 | def test_rejects_tampered_digest(self):
28 | digest, expires_at = b64decode(self.token).decode().split(":")
29 | tampered_digest = "".join([digest, "DEADBEEF"])
30 | tampered_token = b64encode(":".join([tampered_digest, expires_at]).encode()).decode()
31 | self.assertFalse(pagination.validate_pagination_token(self.player_id, self.start_key, tampered_token))
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layersTests/test_CommonLambdaLayer/test_sanitizer.py:
--------------------------------------------------------------------------------
1 | # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | # SPDX-License-Identifier: Apache-2.0
3 |
4 | from unittest import TestCase
5 | from layers.main.CommonLambdaLayer.python.gamekithelpers.sanitizer import sanitize
6 |
7 |
8 | class TestSanitization(TestCase):
9 | def test_remove_tags(self):
10 | text = "easiest way is just regex and remove tags. " \
11 | "and for HTML we can just remove the links, " \
12 | "
,
and < link > that can download other resource files " \
13 | "but keep
, and "
14 | expected = "easiest way is just regex and remove and tags. " \
15 | "and for HTML we can just remove the links, " \
16 | ", and that can download other resource files " \
17 | "but keep
, and "
18 |
19 | result = sanitize(text)
20 |
21 | self.assertEqual(result, expected)
22 |
23 | def test_int_input_type_returns_as_is(self):
24 | text = 10
25 | expected = 10
26 |
27 | result = sanitize(text)
28 |
29 | self.assertEqual(result, expected)
30 | self.assertIsInstance(result, type(text))
31 |
32 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/layersTests/test_ResourceManagementLambdaLayer/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/layersTests/test_ResourceManagementLambdaLayer/__init__.py
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/misc/achievements/earned.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/misc/achievements/earned.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/misc/achievements/unearned.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/cloudResources/misc/achievements/unearned.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/misc/awsGameKitAwsRegionMappings.yml:
--------------------------------------------------------------------------------
1 | #
2 | # EDITING THIS FILE MAY LEAD TO BREAKING CHANGES
3 | # When adding a new region to your game, please add the region and it's corresponding shortcodes here.
4 | #
5 | {
6 | five_letter_region_codes: {
7 | us-east-1: usea1,
8 | us-east-2: usea2,
9 | us-west-1: uswe1,
10 | us-west-2: uswe2,
11 | af-south-1: afso1,
12 | ap-east-1: apea1,
13 | ap-south-1: apso1,
14 | ap-northeast-3: apne3,
15 | ap-northeast-2: apne2,
16 | ap-southeast-1: apse1,
17 | ap-southeast-2: apse2,
18 | ap-northeast-1: apne1,
19 | ca-central-1: cace1,
20 | eu-central-1: euce1,
21 | eu-west-1: euwe1,
22 | eu-west-2: euwe2,
23 | eu-south-1: euso1,
24 | eu-west-3: euwe3,
25 | eu-north-1: euno1,
26 | me-south-1: meso1,
27 | sa-east-1: saea1
28 | }
29 | }
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/policies/README.md:
--------------------------------------------------------------------------------
1 | # Create an IAM user
2 | - If you have an admin access key and secret key you can use `create_IAM_user.py` to create an IAM user in your account with all permissions needed to use Aws GameKit.
3 | - It can also be used to update permissions for an existing user.
4 |
5 | ## Instructions
6 | - Install dependencies `pip install -r requirements.txt`
7 | - Run `python create_IAM_user.py [AWS IAM USERNAME] [AWS ADMIN ACCESS KEY] [AWS ADMIN SECRET KEY]`
8 | - The access key and secret access key for a new user will be output to a [username]_credentials.txt file in this directory.
9 |
10 | # Creating Developer Policy Document
11 | - If you wish to only create the policy document `generate_policy_instance.py` can be used.
12 | - The json document produced grants permission to deploy and manage all AWS GameKit features in your account when uploaded to AWS IAM.
13 |
14 | ## Instructions
15 | - Retrieve your 12 digit AWS Account ID after creating an AWS Account.
16 | - Run `python generate_policy_instance.py [YOUR ACCOUNT ID]` from the command line in this directory.
17 | - A file named `GameKitDeveloperPolicy_[your id]` will be produced in this directory, ready to upload.
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/policies/generate_policy_instance.py:
--------------------------------------------------------------------------------
1 | # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | # SPDX-License-Identifier: Apache-2.0
3 |
4 | import sys
5 | import argparse
6 |
7 | def main(account_id):
8 | #input file
9 | with open('GameKitDeveloperPolicy_Template.json', 'r') as file:
10 | filedata = file.read()
11 |
12 | # Replace the target string
13 | filedata = filedata.replace('', account_id)
14 |
15 | with open(f"GameKitDeveloperPolicy_{account_id}.json", 'w') as file:
16 | file.write(filedata)
17 |
18 | return f"GameKitDeveloperPolicy_{account_id}.json"
19 |
20 | if __name__ == "__main__":
21 | parser = argparse.ArgumentParser(description='Create a GameKitDeveloperPolicy file using your AWS Account ID.')
22 | parser.add_argument('account_id', type=str, help='Your 12 digit AWS account ID.')
23 | args = parser.parse_args()
24 |
25 | main(args.account_id)
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/policies/requirements.txt:
--------------------------------------------------------------------------------
1 | boto3
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/requirements.txt:
--------------------------------------------------------------------------------
1 | # AWS Lambda - Python 3.7 Runtime: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
2 | # Use the latest version, because the AWS Lambda runtimes are upgraded over time.
3 | boto3
4 | botocore
5 |
6 | # Crypto Lambda Layer:
7 | cryptography == 3.4.7
8 | python-jose[cryptography] == 3.3.0
9 |
10 | # Image Processing Lambda Layer:
11 | Pillow == 9.0.1
12 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/tools/delete_policy.json:
--------------------------------------------------------------------------------
1 | {
2 | "Version": "2012-10-17",
3 | "Statement": [
4 | {
5 | "Effect": "Allow",
6 | "Action": [
7 | "ssm:DeleteParameter",
8 | "logs:DeleteLogGroup"
9 | ],
10 | "Resource": [
11 | "arn:aws:logs:*",
12 | "arn:aws:ssm:*"
13 | ]
14 | },
15 | {
16 | "Effect": "Allow",
17 | "Action": [
18 | "s3:ListBucketMultipartUploads",
19 | "s3:ListBucketVersions",
20 | "s3:ListBucket"
21 | ],
22 | "Resource": "arn:aws:s3:::*"
23 | },
24 | {
25 | "Effect": "Allow",
26 | "Action": "s3:ListMultipartUploadParts",
27 | "Resource": "arn:aws:s3:::*/*"
28 | },
29 | {
30 | "Effect": "Allow",
31 | "Action": "s3:DeleteBucket",
32 | "Resource": "arn:aws:s3:::*"
33 | },
34 | {
35 | "Effect": "Allow",
36 | "Action": "s3:DeleteObject",
37 | "Resource": "arn:aws:s3:::*/*"
38 | },
39 | {
40 | "Effect": "Allow",
41 | "Action": [
42 | "s3:ListStorageLensConfigurations",
43 | "s3:ListAccessPointsForObjectLambda",
44 | "s3:ListAllMyBuckets",
45 | "s3:ListAccessPoints",
46 | "ssm:DescribeParameters",
47 | "s3:ListJobs",
48 | "sts:GetCallerIdentity",
49 | "s3:ListMultiRegionAccessPoints",
50 | "secretsmanager:ListSecrets"
51 | ],
52 | "Resource": "*"
53 | }
54 | ]
55 | }
56 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/cloudResources/tools/requirements.txt:
--------------------------------------------------------------------------------
1 | # AWS GameKit Cleanup Tool Requirements
2 |
3 | numpy
--------------------------------------------------------------------------------
/AwsGameKit/Resources/documentation/documentation.ini:
--------------------------------------------------------------------------------
1 | [url]
2 | gamekit_home="https://docs.aws.amazon.com/gamekit/index.html"
3 | create_account="https://aws.amazon.com"
4 | free_tier_intro="http://aws.amazon.com/free/"
5 | free_tier_reference="https://aws.amazon.com/getting-started/hands-on/control-your-costs-free-tier-budgets"
6 | backup_dynamo_reference="https://aws.amazon.com/premiumsupport/knowledge-center/back-up-dynamodb-s3"
7 |
8 | [dev_guide_url]
9 | identity="https://docs.aws.amazon.com/gamekit/latest/DevGuide/identity-auth.html"
10 | achievements="https://docs.aws.amazon.com/gamekit/latest/DevGuide/achievements.html"
11 | game_state_saving="https://docs.aws.amazon.com/gamekit/latest/DevGuide/game-save.html"
12 | user_gameplay_data="https://docs.aws.amazon.com/gamekit/latest/DevGuide/gameplay-data.html"
13 | intro_cost="https://docs.aws.amazon.com/gamekit/latest/DevGuide/intro-costs.html"
14 | setting_up_credentials="https://docs.aws.amazon.com/gamekit/latest/DevGuide/setting-up-credentials.html"
15 | delete_instance_reference="https://docs.aws.amazon.com/gamekit/latest/DevGuide/plugin-project-delete.html"
16 | cloudwatch_dashboards_reference="https://docs.aws.amazon.com/gamekit/latest/DevGuide/monitoring-dashboards.html"
17 | known_issues_reference="https://docs.aws.amazon.com/gamekit/latest/DevGuide/versions.html#versions-knownissues"
18 |
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/cloud.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/error.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/external.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/external.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/garbage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/garbage.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/refresh.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/success.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/unsynchronized.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/unsynchronized.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/waiting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/waiting.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/warning.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/warning_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/warning_16x16.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/warning_inline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/warning_inline.png
--------------------------------------------------------------------------------
/AwsGameKit/Resources/icons/working.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aws/aws-gamekit-unreal/c9e14b94a922e37d95e0f7a2d0c3f7d00ea2579b/AwsGameKit/Resources/icons/working.png
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitCore/Private/AwsGameKitCore.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #include "AwsGameKitCore.h"
5 |
6 | // Unreal
7 | #include "Core/Logging.h"
8 |
9 | // GameKit
10 | #if PLATFORM_IOS
11 | #include
12 | #endif
13 |
14 | #define LOCTEXT_NAMESPACE "FAwsGameKitCoreModule"
15 |
16 | DEFINE_LOG_CATEGORY(LogAwsGameKit);
17 |
18 | void FAwsGameKitCoreModule::StartupModule()
19 | {
20 | UE_LOG(LogAwsGameKit, Log, TEXT("FAwsGameKitCoreModule::StartupModule()"));
21 | #if PLATFORM_IOS
22 | ::GameKitInitializeAwsSdk(FGameKitLogging::LogCallBack);
23 | #endif
24 | }
25 |
26 | void FAwsGameKitCoreModule::ShutdownModule()
27 | {
28 | UE_LOG(LogAwsGameKit, Log, TEXT("FAwsGameKitCoreModule::ShutdownModule()"));
29 | #if PLATFORM_IOS
30 | ::GameKitShutdownAwsSdk(FGameKitLogging::LogCallBack);
31 | #endif
32 | }
33 |
34 | #undef LOCTEXT_NAMESPACE
35 |
36 | IMPLEMENT_MODULE(FAwsGameKitCoreModule, AwsGameKitCore);
37 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitCore/Public/AwsGameKitCore.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "CoreMinimal.h"
8 | #include "Modules/ModuleInterface.h"
9 | #include "Modules/ModuleManager.h"
10 |
11 | DECLARE_LOG_CATEGORY_EXTERN(LogAwsGameKit, Log, All);
12 |
13 | class FAwsGameKitCoreModule : public IModuleInterface
14 | {
15 | public:
16 |
17 | /** IModuleInterface implementation */
18 | virtual void StartupModule() override;
19 | virtual void ShutdownModule() override;
20 | };
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitCore/Public/Core/AwsGameKitLibraryUtils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "Logging.h"
8 |
9 | // Helper macro to define a Func handle type and instantiate it (set to nullptr).
10 | #define DEFINE_FUNC_HANDLE(RetType, Func, ...) \
11 | typedef RetType (*__##Func) __VA_ARGS__ ; \
12 | __##Func func##Func = nullptr;
13 |
14 | // Helper macro to check that the function pointer is valid. If function is invalid,
15 | // logs a message and returns an error code. (Assumes the FuncPtr was declared with DEFINE_FUNC_HANDLE)
16 | #if PLATFORM_WINDOWS || PLATFORM_MAC
17 | #define CHECK_PLUGIN_FUNC_IS_LOADED(Plugin, FuncPtr, ...) \
18 | { \
19 | if (func##FuncPtr == nullptr) \
20 | { \
21 | UE_LOG(LogAwsGameKit, Error, TEXT("AWS GameKit " #Plugin " Plugin Function (" #FuncPtr ") is null")); \
22 | return __VA_ARGS__ ; \
23 | } \
24 | }
25 | #else
26 | #define CHECK_PLUGIN_FUNC_IS_LOADED(Plugin, FuncPtr, ...) {}
27 | #endif
28 |
29 | // Helper macro to invoke a Func that was declared with DEFINE_FUNC_HANDLE
30 | #if PLATFORM_WINDOWS || PLATFORM_MAC
31 | #define INVOKE_FUNC(Func, ...) (func##Func)(__VA_ARGS__)
32 | #else
33 | #define INVOKE_FUNC(Func, ...) (::Func)(__VA_ARGS__)
34 | #endif
35 |
36 | // Helper macro to assign an exported Func (Func must be declared with DEFINE_FUNC_HANDLE)
37 | #if PLATFORM_WINDOWS || PLATFORM_MAC
38 | #define LOAD_PLUGIN_FUNC(ProcName, DllHandle) func##ProcName = (__##ProcName)FPlatformProcess::GetDllExport(DllHandle, UTF8_TO_TCHAR(#ProcName))
39 | #else
40 | #define LOAD_PLUGIN_FUNC(ProcName, DllHandle) {}
41 | #endif
42 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitCore/Public/Core/Logging.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "Containers/UnrealString.h"
8 | #include "HAL/CriticalSection.h"
9 |
10 | /**
11 | * Signature for a callback function the AWS GameKit library can use to log a message.
12 | */
13 | typedef void(*FuncLogCallback)(unsigned int level, const char* message, int size);
14 |
15 | /**
16 | * Interface that defines a Child logger. Use to forward logging messages.
17 | */
18 | class IChildLogger
19 | {
20 | public:
21 | IChildLogger() {}
22 | virtual ~IChildLogger() {}
23 | virtual void Log(unsigned int level, const FString& message) {};
24 | };
25 |
26 | /**
27 | * Default implementation for ::FuncFuncLogCallback.
28 | */
29 | class AWSGAMEKITCORE_API FGameKitLogging
30 | {
31 | private:
32 | static int32 toggleVerbose;
33 | static TArray childLoggers;
34 | static FCriticalSection childLoggerMutex;
35 |
36 | public:
37 | static void AttachLogger(IChildLogger* logger);
38 | static void DetachLogger(IChildLogger* logger);
39 | static void LogCallBack(unsigned int level, const char* message, int size);
40 | };
41 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/Achievements/AwsGameKitAchievementsExamplesLayout.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "Achievements/AwsGameKitAchievementsExamplesLayout.h"
6 |
7 | // Unreal
8 | #include "DetailLayoutBuilder.h"
9 |
10 | TSharedRef AwsGameKitAchievementsExamplesLayout::MakeInstance()
11 | {
12 | return MakeShareable(new AwsGameKitAchievementsExamplesLayout);
13 | }
14 |
15 | void AwsGameKitAchievementsExamplesLayout::CustomizeDetails(IDetailLayoutBuilder& detailBuilder)
16 | {
17 | // Hide these categories from Details panel:
18 | detailBuilder.HideCategory("Rendering");
19 | detailBuilder.HideCategory("Replication");
20 | detailBuilder.HideCategory("Collision");
21 | detailBuilder.HideCategory("Input");
22 | detailBuilder.HideCategory("Actor");
23 | detailBuilder.HideCategory("LOD");
24 | detailBuilder.HideCategory("Cooking");
25 | }
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/Achievements/EditorAchievementFeatureExample.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "Achievements/EditorAchievementFeatureExample.h" // First include (Unreal requirement)
6 | #include "Achievements/AwsGameKitAchievementsExamples.h"
7 | #include "Achievements/AwsGameKitAchievementsExamplesLayout.h"
8 |
9 | EditorAchievementFeatureExample::EditorAchievementFeatureExample()
10 | {}
11 |
12 | FName EditorAchievementFeatureExample::GetFeatureExampleClassName()
13 | {
14 | return AAwsGameKitAchievementsExamples::StaticClass()->GetFName();
15 | }
16 |
17 | FOnGetDetailCustomizationInstance EditorAchievementFeatureExample::GetDetailCustomizationForExampleCreationMethod()
18 | {
19 | return FOnGetDetailCustomizationInstance::CreateStatic(&AwsGameKitAchievementsExamplesLayout::MakeInstance);
20 | }
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/AwsCredentialsManager.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | #include "AwsCredentialsManager.h"
7 |
8 | AwsCredentialsManager::AwsCredentialsManager()
9 | {
10 | // default to development until changed
11 | this->env = "Development";
12 |
13 | FString userDir = FPlatformProcess::UserDir();
14 | this->path = FPaths::Combine(userDir, TEXT("../.aws/credentials"));
15 | if (FPaths::FileExists(this->path))
16 | {
17 | UE_LOG(LogAwsGameKit, Display, TEXT("Using credentials file: %s"), *this->path);
18 | this->credentials.Read(this->path);
19 | }
20 | }
21 |
22 | void AwsCredentialsManager::SetAccessKey(const FString& val)
23 | {
24 | FString profile = this->GetProfile();
25 | this->credentials.SetString(*profile, TEXT("aws_access_key_id"), *val);
26 | }
27 |
28 | void AwsCredentialsManager::SetSecretKey(const FString& val)
29 | {
30 | FString profile = this->GetProfile();
31 | this->credentials.SetString(*profile, TEXT("aws_secret_access_key"), *val);
32 | }
33 |
34 | FString AwsCredentialsManager::GetKey(const FString& key) const
35 | {
36 | FString profile = this->GetProfile();
37 | FString result;
38 | this->credentials.GetString(*profile, *key, result);
39 | return result;
40 | }
41 |
42 | FString AwsCredentialsManager::GetAccessKey() const
43 | {
44 | return this->GetKey(FString("aws_access_key_id"));
45 | }
46 |
47 | FString AwsCredentialsManager::GetSecretKey() const
48 | {
49 | return this->GetKey(FString("aws_secret_access_key"));
50 | }
51 |
52 | void AwsCredentialsManager::SaveCredentials()
53 | {
54 | this->credentials.Write(this->path);
55 | }
56 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/AwsGameKitSettings.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #include "AwsGameKitSettings.h"
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/AwsGameKitSettingsLayoutDetails.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #include "AwsGameKitSettingsLayoutDetails.h" // First include (Unreal requirement)
5 |
6 | // GameKit
7 | #include "Achievements/AwsGameKitAchievementsLayoutDetails.h"
8 | #include "AwsGameKitCredentialsLayoutDetails.h"
9 | #include "GameSaving/AwsGameKitGameSavingLayoutDetails.h"
10 | #include "Identity/AwsGameKitIdentityLayoutDetails.h"
11 | #include "UserGameplayData/AwsGameKitUserGameplayDataLayoutDetails.h"
12 |
13 | AwsGameKitSettingsLayoutDetails::AwsGameKitSettingsLayoutDetails()
14 | {
15 | FAwsGameKitEditorModule* editorModule = AWSGAMEKIT_EDITOR_MODULE_INSTANCE();
16 | this->credentialsLayout = AwsGameKitCredentialsLayoutDetails::MakeInstance(editorModule);
17 | this->achievementsLayout = AwsGameKitAchievementsLayoutDetails::MakeInstance(editorModule);
18 | this->gameSavingLayout = AwsGameKitGameSavingLayoutDetails::MakeInstance(editorModule);
19 | this->identityLayout = AwsGameKitIdentityLayoutDetails::MakeInstance(editorModule);
20 | this->userGameplayDataLayout = AwsGameKitUserGameplayDataLayoutDetails::MakeInstance(editorModule);
21 | }
22 |
23 | TSharedRef AwsGameKitSettingsLayoutDetails::MakeInstance()
24 | {
25 | return MakeShareable(new AwsGameKitSettingsLayoutDetails());
26 | }
27 |
28 | void AwsGameKitSettingsLayoutDetails::CustomizeDetails(IDetailLayoutBuilder& DetailLayout)
29 | {
30 | // Layout order is preserved
31 | this->credentialsLayout->CustomizeDetails(DetailLayout);
32 | this->identityLayout->CustomizeDetails(DetailLayout);
33 | this->achievementsLayout->CustomizeDetails(DetailLayout);
34 | this->gameSavingLayout->CustomizeDetails(DetailLayout);
35 | this->userGameplayDataLayout->CustomizeDetails(DetailLayout);
36 | }
37 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/GameSaving/AwsGameKitGameSavingExamplesLayout.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "GameSaving/AwsGameKitGameSavingExamplesLayout.h"
6 |
7 | // Unreal
8 | #include "DetailLayoutBuilder.h"
9 |
10 | TSharedRef AwsGameKitGameSavingExamplesLayout::MakeInstance()
11 | {
12 | return MakeShareable(new AwsGameKitGameSavingExamplesLayout);
13 | }
14 |
15 | void AwsGameKitGameSavingExamplesLayout::CustomizeDetails(IDetailLayoutBuilder& detailBuilder)
16 | {
17 | // Hide these categories from Details panel:
18 | detailBuilder.HideCategory("Rendering");
19 | detailBuilder.HideCategory("Replication");
20 | detailBuilder.HideCategory("Collision");
21 | detailBuilder.HideCategory("Input");
22 | detailBuilder.HideCategory("Actor");
23 | detailBuilder.HideCategory("LOD");
24 | detailBuilder.HideCategory("Cooking");
25 | }
26 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/GameSaving/EditorGameSavingFeatureExample.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "GameSaving/EditorGameSavingFeatureExample.h" // First include (Unreal requirement)
6 | #include "GameSaving/AwsGameKitGameSavingExamples.h"
7 | #include "GameSaving/AwsGameKitGameSavingExamplesLayout.h"
8 |
9 | EditorGameSavingFeatureExample::EditorGameSavingFeatureExample()
10 | {}
11 |
12 | FName EditorGameSavingFeatureExample::GetFeatureExampleClassName()
13 | {
14 | return AAwsGameKitGameSavingExamples::StaticClass()->GetFName();
15 | }
16 |
17 | FOnGetDetailCustomizationInstance EditorGameSavingFeatureExample::GetDetailCustomizationForExampleCreationMethod()
18 | {
19 | return FOnGetDetailCustomizationInstance::CreateStatic(&AwsGameKitGameSavingExamplesLayout::MakeInstance);
20 | }
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/Identity/AwsGameKitIdentityExamplesLayout.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "Identity/AwsGameKitIdentityExamplesLayout.h" // First include (Unreal requirement)
6 |
7 | // Unreal
8 | #include "DetailLayoutBuilder.h"
9 |
10 | TSharedRef AwsGameKitIdentityExamplesLayout::MakeInstance()
11 | {
12 | return MakeShareable(new AwsGameKitIdentityExamplesLayout);
13 | }
14 |
15 | void AwsGameKitIdentityExamplesLayout::CustomizeDetails(IDetailLayoutBuilder& detailBuilder)
16 | {
17 | // Hide these categories from Details panel:
18 | detailBuilder.HideCategory("Rendering");
19 | detailBuilder.HideCategory("Replication");
20 | detailBuilder.HideCategory("Collision");
21 | detailBuilder.HideCategory("Input");
22 | detailBuilder.HideCategory("Actor");
23 | detailBuilder.HideCategory("LOD");
24 | detailBuilder.HideCategory("Cooking");
25 | }
26 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/Identity/EditorIdentityFeatureExample.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "Identity/EditorIdentityFeatureExample.h" // First include (Unreal requirement)
6 | #include "Identity/AwsGameKitIdentityExamples.h"
7 | #include "Identity/AwsGameKitIdentityExamplesLayout.h"
8 |
9 | EditorIdentityFeatureExample::EditorIdentityFeatureExample()
10 | {}
11 |
12 | FName EditorIdentityFeatureExample::GetFeatureExampleClassName()
13 | {
14 | return AAwsGameKitIdentityExamples::StaticClass()->GetFName();
15 | }
16 |
17 | FOnGetDetailCustomizationInstance EditorIdentityFeatureExample::GetDetailCustomizationForExampleCreationMethod()
18 | {
19 | return FOnGetDetailCustomizationInstance::CreateStatic(&AwsGameKitIdentityExamplesLayout::MakeInstance);
20 | }
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/UserGameplayData/AwsGameKitUserGameplayDataExamplesLayout.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "UserGameplayData/AwsGameKitUserGameplayDataExamplesLayout.h"
6 |
7 | // Unreal
8 | #include "DetailLayoutBuilder.h"
9 |
10 | TSharedRef AwsGameKitUserGameplayDataExamplesLayout::MakeInstance()
11 | {
12 | return MakeShareable(new AwsGameKitUserGameplayDataExamplesLayout);
13 | }
14 |
15 | void AwsGameKitUserGameplayDataExamplesLayout::CustomizeDetails(IDetailLayoutBuilder& detailBuilder)
16 | {
17 | // Hide these categories from Details panel:
18 | detailBuilder.HideCategory("Rendering");
19 | detailBuilder.HideCategory("Replication");
20 | detailBuilder.HideCategory("Collision");
21 | detailBuilder.HideCategory("Input");
22 | detailBuilder.HideCategory("Actor");
23 | detailBuilder.HideCategory("LOD");
24 | detailBuilder.HideCategory("Cooking");
25 | }
26 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Private/UserGameplayData/EditorUserGameplayFeatureExample.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | // GameKit
5 | #include "UserGameplayData/EditorUserGameplayFeatureExample.h" // First include (Unreal requirement)
6 | #include "UserGameplayData/AwsGameKitUserGameplayDataExamples.h"
7 | #include "UserGameplayData/AwsGameKitUserGameplayDataExamplesLayout.h"
8 |
9 | EditorUserGameplayFeatureExample::EditorUserGameplayFeatureExample()
10 | {}
11 |
12 | FName EditorUserGameplayFeatureExample::GetFeatureExampleClassName()
13 | {
14 | return AAwsGameKitUserGameplayDataExamples::StaticClass()->GetFName();
15 | }
16 |
17 | FOnGetDetailCustomizationInstance EditorUserGameplayFeatureExample::GetDetailCustomizationForExampleCreationMethod()
18 | {
19 | return FOnGetDetailCustomizationInstance::CreateStatic(&AwsGameKitUserGameplayDataExamplesLayout::MakeInstance);
20 | }
21 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/Achievements/AwsGameKitAchievementsExamplesLayout.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "IDetailCustomization.h"
8 | #include "Templates/SharedPointer.h"
9 |
10 | /**
11 | * This class defines the custom Details Panel that goes with the AwsGameKitAchievementsExamples Actor.
12 | */
13 | class AWSGAMEKITEDITOR_API AwsGameKitAchievementsExamplesLayout : public IDetailCustomization
14 | {
15 | public:
16 | /**
17 | * Make a new instance of this detail layout class for a specific detail view requesting it.
18 | */
19 | static TSharedRef MakeInstance();
20 |
21 | virtual void CustomizeDetails(IDetailLayoutBuilder& detailBuilder) override;
22 | };
23 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/Achievements/EditorAchievementFeatureExample.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "IGameKitEditorFeatureExample.h"
8 |
9 | class AWSGAMEKITEDITOR_API EditorAchievementFeatureExample : IGameKitEditorFeatureExample
10 | {
11 | public:
12 | EditorAchievementFeatureExample();
13 | virtual ~EditorAchievementFeatureExample() {}
14 |
15 | FName GetFeatureExampleClassName() override;
16 | FOnGetDetailCustomizationInstance GetDetailCustomizationForExampleCreationMethod() override;
17 | };
18 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/AwsCredentialsManager.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "Containers/UnrealString.h"
8 | #include "Misc/ConfigCacheIni.h"
9 |
10 | class AwsCredentialsManager
11 | {
12 | private:
13 | FConfigFile credentials;
14 | FString path;
15 | FString gameName;
16 | FString env;
17 |
18 | inline FString GetProfile() const
19 | {
20 | return FString("GameKit-") + *gameName + "-" + *env;
21 | }
22 |
23 | FString GetKey(const FString& key) const;
24 |
25 | public:
26 | AwsCredentialsManager();
27 |
28 | inline void SetGameName(const FString& name)
29 | {
30 | this->gameName = name;
31 | }
32 |
33 | inline void SetEnv(const FString& environment)
34 | {
35 | this->env = environment;
36 | }
37 |
38 | void SaveCredentials();
39 | void SetAccessKey(const FString& val);
40 | void SetSecretKey(const FString& val);
41 | FString GetAccessKey() const;
42 | FString GetSecretKey() const;
43 | };
44 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/AwsGameKitSettings.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | #include "CoreMinimal.h"
7 | #include "UObject/NoExportTypes.h"
8 |
9 | #include "AwsGameKitSettings.generated.h" // Last include (Unreal requirement)
10 |
11 | /**
12 | * Placeholder object for AWS GameKit settings. Add basic UPROPERTY configurations here.
13 | * Layout customizations can be added to the AwsGameKitSettingsLayoutDetails class.
14 | */
15 | UCLASS()
16 | class AWSGAMEKITEDITOR_API UAwsGameKitSettings : public UObject
17 | {
18 | GENERATED_BODY()
19 | };
20 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/AwsGameKitSettingsLayoutDetails.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "IDetailCustomization.h"
8 | #include "Templates/SharedPointer.h"
9 |
10 | class AWSGAMEKITEDITOR_API AwsGameKitSettingsLayoutDetails : public IDetailCustomization
11 | {
12 | private:
13 | TSharedPtr credentialsLayout;
14 | TSharedPtr achievementsLayout;
15 | TSharedPtr gameSavingLayout;
16 | TSharedPtr identityLayout;
17 | TSharedPtr userGameplayDataLayout;
18 |
19 | public:
20 | AwsGameKitSettingsLayoutDetails();
21 |
22 | /**
23 | * @brief Creates a new instance.
24 | * @return A new property type customization.
25 | */
26 | static TSharedRef MakeInstance();
27 |
28 | // IDetailCustomization interface
29 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override;
30 | };
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/AwsGameKitStyleSet.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "Templates/SharedPointer.h"
8 |
9 | // Unreal forward declarations
10 | class FSlateStyleSet;
11 |
12 | class AwsGameKitStyleSet
13 | {
14 | public:
15 | static TSharedPtr Style;
16 | AwsGameKitStyleSet();
17 | ~AwsGameKitStyleSet() = default;
18 | };
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/EditorState.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include
8 |
9 | // Unreal
10 | #include "Containers/UnrealString.h"
11 |
12 | // Unreal forward declarations
13 | class IMessageContext;
14 |
15 | // Last include (Unreal requirement)
16 | #include "EditorState.generated.h"
17 |
18 | USTRUCT()
19 | struct FMsgCredentialsState
20 | {
21 | GENERATED_BODY()
22 | bool IsSubmitted;
23 | };
24 |
25 | USTRUCT()
26 | struct FMsgDeploymentState
27 | {
28 | GENERATED_BODY()
29 | FeatureType FeatureType;
30 | };
31 |
32 | class EditorState
33 | {
34 | private:
35 | TMap stateMap;
36 | public:
37 | static const FString EDITOR_STATE_SHORT_GAME_NAME;
38 | static const FString EDITOR_STATE_SELECTED_ENVIRONMENT;
39 | static const FString EDITOR_STATE_ACCOUNT_ID;
40 | static const FString EDITOR_STATE_REGION;
41 | static const FString EDITOR_STATE_ACCESS_KEY;
42 | static const FString EDITOR_STATE_ACCESS_SECRET;
43 | static const FString EDITOR_STATE_CREDENTIALS_SUBMITTED;
44 | static const FString TrueString;
45 | static const FString FalseString;
46 |
47 | void SetCredentials(const AccountDetails& accountDetails);
48 | void SetCredentialState(bool isSubmitted);
49 |
50 | TMap GetCredentials() const;
51 | bool GetCredentialState() const;
52 | bool AreCredentialsValid() const;
53 |
54 | // MessageBus Handlers
55 | void CredentialsStateMessageHandler(const struct FMsgCredentialsState& message, const TSharedRef& context);
56 | };
57 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/GameSaving/AwsGameKitGameSavingExamplesLayout.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "IDetailCustomization.h"
8 | #include "Templates/SharedPointer.h"
9 |
10 | /**
11 | * This class defines the custom Details Panel that goes with the AwsGameKitGameSavingExamples Actor.
12 | */
13 | class AWSGAMEKITEDITOR_API AwsGameKitGameSavingExamplesLayout : public IDetailCustomization
14 | {
15 | public:
16 | /**
17 | * Make a new instance of this detail layout class for a specific detail view requesting it.
18 | */
19 | static TSharedRef MakeInstance();
20 |
21 | virtual void CustomizeDetails(IDetailLayoutBuilder& detailBuilder) override;
22 | };
23 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/GameSaving/EditorGameSavingFeatureExample.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "IGameKitEditorFeatureExample.h"
8 |
9 | class AWSGAMEKITEDITOR_API EditorGameSavingFeatureExample : IGameKitEditorFeatureExample
10 | {
11 | public:
12 | EditorGameSavingFeatureExample();
13 | virtual ~EditorGameSavingFeatureExample() {}
14 |
15 | FName GetFeatureExampleClassName() override;
16 | FOnGetDetailCustomizationInstance GetDetailCustomizationForExampleCreationMethod() override;
17 | };
18 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/IGameKitEditorFeatureExample.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "IDetailCustomization.h"
8 |
9 | class AWSGAMEKITEDITOR_API IGameKitEditorFeatureExample
10 | {
11 | public:
12 | IGameKitEditorFeatureExample() {}
13 | virtual ~IGameKitEditorFeatureExample() {}
14 | virtual FName GetFeatureExampleClassName() = 0;
15 | virtual FOnGetDetailCustomizationInstance GetDetailCustomizationForExampleCreationMethod() = 0;
16 | };
17 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/Identity/AwsGameKitIdentityExamplesLayout.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "IDetailCustomization.h"
8 |
9 | /**
10 | * This class defines the custom Details Panel that goes with the AwsGameKitIdentityExamples Actor.
11 | */
12 | class AWSGAMEKITEDITOR_API AwsGameKitIdentityExamplesLayout : public IDetailCustomization
13 | {
14 | public:
15 | /**
16 | * Make a new instance of this detail layout class for a specific detail view requesting it.
17 | */
18 | static TSharedRef MakeInstance();
19 |
20 | virtual void CustomizeDetails(IDetailLayoutBuilder& detailBuilder) override;
21 | };
22 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/Identity/EditorIdentityFeatureExample.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "IGameKitEditorFeatureExample.h"
8 |
9 | class AWSGAMEKITEDITOR_API EditorIdentityFeatureExample : IGameKitEditorFeatureExample
10 | {
11 | public:
12 | EditorIdentityFeatureExample();
13 | virtual ~EditorIdentityFeatureExample() {}
14 |
15 | FName GetFeatureExampleClassName() override;
16 | FOnGetDetailCustomizationInstance GetDetailCustomizationForExampleCreationMethod() override;
17 | };
18 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/ImageDownloader.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "Containers/UnrealString.h"
8 | #include "Templates/SharedPointer.h"
9 | #include "HttpModule.h"
10 |
11 | // Unreal forward declarations
12 | class SImage;
13 |
14 | class GameKitImage :
15 | public SImage
16 | {
17 | public:
18 | const FSlateBrush* brush;
19 | };
20 |
21 | class IImageDownloader
22 | {
23 | public:
24 | IImageDownloader() {}
25 | virtual ~IImageDownloader() {}
26 | virtual void SetImageFromUrl(const FString& iconUrl, const TSharedPtr& iconImg, int retryCount) {};
27 | virtual void HandleImageDownload(FHttpRequestPtr request, FHttpResponsePtr response, bool succeeded) {};
28 | };
29 |
30 | typedef TSharedPtr IImageDownloaderPtr;
31 |
32 | struct ImageResource
33 | {
34 | TSharedPtr iconImg;
35 | int attempts;
36 | };
37 |
38 | class AWSGAMEKITEDITOR_API ImageDownloader :
39 | public TSharedFromThis,
40 | public IImageDownloader
41 | {
42 | private:
43 | FCriticalSection downloadMutex;
44 | TMap imageDownloads;
45 |
46 | public:
47 | static const int DOWNLOAD_MAX_ATTEMPTS = 5;
48 | static const int DOWNLOAD_RETRY_DELAY_IN_SECONDS = 1;
49 |
50 | static IImageDownloaderPtr MakeInstance();
51 | virtual void SetImageFromUrl(const FString& iconUrl, const TSharedPtr& iconImg, int retryCount) override;
52 | virtual void HandleImageDownload(FHttpRequestPtr request, FHttpResponsePtr response, bool succeeded) override;
53 | };
54 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/UserGameplayData/AwsGameKitUserGameplayDataExamplesLayout.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "IDetailCustomization.h"
8 | #include "Templates/SharedPointer.h"
9 |
10 | /**
11 | * This class defines the custom Details Panel that goes with the Aws GameKit User Gameplay Data Examples Actor.
12 | */
13 | class AWSGAMEKITEDITOR_API AwsGameKitUserGameplayDataExamplesLayout : public IDetailCustomization
14 | {
15 | public:
16 | /**
17 | * Make a new instance of this detail layout class for a specific detail view requesting it.
18 | */
19 | static TSharedRef MakeInstance();
20 |
21 | virtual void CustomizeDetails(IDetailLayoutBuilder& detailBuilder) override;
22 | };
23 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/UserGameplayData/AwsGameKitUserGameplayDataLayoutDetails.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "AwsGameKitFeatureLayoutDetails.h"
8 |
9 | // Unreal
10 | #include "DetailCategoryBuilder.h"
11 | #include "IDetailCustomization.h"
12 | #include "Templates/SharedPointer.h"
13 |
14 | // Unreal forward declarations
15 | class FMessageEndpoint;
16 |
17 | class AWSGAMEKITEDITOR_API AwsGameKitUserGameplayDataLayoutDetails : public AwsGameKitFeatureLayoutDetails
18 | {
19 | public:
20 |
21 | AwsGameKitUserGameplayDataLayoutDetails(const FAwsGameKitEditorModule* editorModule);
22 | ~AwsGameKitUserGameplayDataLayoutDetails() = default;
23 |
24 | /**
25 | * @brief Creates a new instance.
26 | * @return A new property type customization.
27 | */
28 | static TSharedRef MakeInstance(const FAwsGameKitEditorModule* editorModule);
29 |
30 | // IDetailCustomization interface
31 | virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override;
32 | };
33 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/UserGameplayData/EditorUserGameplayFeatureExample.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "IGameKitEditorFeatureExample.h"
8 |
9 | class AWSGAMEKITEDITOR_API EditorUserGameplayFeatureExample : IGameKitEditorFeatureExample
10 | {
11 | public:
12 | EditorUserGameplayFeatureExample();
13 | virtual ~EditorUserGameplayFeatureExample() {}
14 |
15 | FName GetFeatureExampleClassName() override;
16 | FOnGetDetailCustomizationInstance GetDetailCustomizationForExampleCreationMethod() override;
17 | };
18 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/Utils/AwsGameKitDocumentationManager.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // GameKit
7 | #include "Core/Logging.h"
8 |
9 | // Unreal
10 | #include "Containers/UnrealString.h"
11 | #include "Misc/ConfigCacheIni.h"
12 | #include "Templates/SharedPointer.h"
13 |
14 | // Forward declarations
15 | class SBox;
16 |
17 | class AwsGameKitDocumentationManager
18 | {
19 | private:
20 | static TSharedPtr documentationConfig;
21 |
22 | public:
23 |
24 | static FString GetDocumentString(const FString& section, const FString& key);
25 | static TSharedRef BuildHelpButton(const FString& section, const FString& linkKey);
26 |
27 | static FText GetDocumentText(const FString& section, const FString& key)
28 | {
29 | return FText::FromString(GetDocumentString(section, key));
30 | }
31 | };
32 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitEditor/Public/Utils/AwsGameKitProjectSettingsUtils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | #define LEFT_COLUMN_BOX(content) SHorizontalBox::Slot() \
7 | .Padding(0, 5) \
8 | .AutoWidth() \
9 | .VAlign(VAlign_Center) \
10 | [ \
11 | SNew(SBox) \
12 | .WidthOverride(GameKit::PROJECT_SETTINGS_LEFT_COLUMN_WIDTH) \
13 | .MinDesiredWidth(GameKit::PROJECT_SETTINGS_LEFT_COLUMN_WIDTH) \
14 | [ content ] \
15 | ]
16 |
17 | #define RIGHT_COLUMN_BOX(content) SHorizontalBox::Slot() \
18 | .Padding(0, 5) \
19 | .FillWidth(GameKit::PROJECT_SETTINGS_FILL_REMAINING) \
20 | [ content ]
21 |
22 | #define PROJECT_SETTINGS_ROW(left, right) SNew(SHorizontalBox) \
23 | + LEFT_COLUMN_BOX(left) \
24 | + RIGHT_COLUMN_BOX(right)
25 |
26 | #define EXTERNAL_ICON_BOX() SNew(SVerticalBox) \
27 | + SVerticalBox::Slot() \
28 | .MaxHeight(15) \
29 | [ \
30 | SNew(SHorizontalBox) \
31 | + SHorizontalBox::Slot() \
32 | [ \
33 | SNew(SImage) \
34 | .Image(AwsGameKitStyleSet::Style->GetBrush("ExternalIcon")) \
35 | ] \
36 | ]
37 |
38 | namespace GameKit
39 | {
40 | static const float PROJECT_SETTINGS_LEFT_COLUMN_WIDTH = 150.0f;
41 | static const float PROJECT_SETTINGS_FILL_REMAINING = 5.0f;
42 | }
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Private/UserGameplayData/AwsGameKitUserGameplayDataStateHandler.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #include "UserGameplayData/AwsGameKitUserGameplayDataStateHandler.h"
5 |
6 | void AwsGameKitUserGameplayDataStateHandler::SetCacheProcessedDelegate(const FCacheProcessedDelegate& cacheProcessedDelegate)
7 | {
8 | if (!this->onCacheProcessedDelegate.IsBound() && cacheProcessedDelegate.IsBound()) {
9 | this->onCacheProcessedDelegate = cacheProcessedDelegate;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Private/Utils/Blueprints/UAwsGameKitErrorUtils.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #include "Utils/Blueprints/UAwsGameKitErrorUtils.h"
5 |
6 | // GameKit
7 | #include
8 |
9 | FString UAwsGameKitErrorUtils::StatusCodeToHexFString(int statusCode)
10 | {
11 | return GameKit::StatusCodeToHexFStr((unsigned int) statusCode);
12 | }
13 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Private/Utils/Blueprints/UAwsGameKitLifecycleUtils.cpp:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #include "Utils/Blueprints/UAwsGameKitLifecycleUtils.h"
5 |
6 | // GameKit
7 | #include "AwsGameKitCore.h"
8 | #include "AwsGameKitRuntime.h"
9 |
10 | void UAwsGameKitLifecycleUtils::ShutdownGameKit()
11 | {
12 | UE_LOG(LogAwsGameKit, Log, TEXT("UAwsGameKitLifecycleUtils::ShutdownGameKit()"));
13 | FAwsGameKitCoreModule* coreModule = FModuleManager::GetModulePtr("AwsGameKitCore");
14 | FAwsGameKitRuntimeModule* runtimeModule = FModuleManager::GetModulePtr("AwsGameKitRuntime");
15 |
16 | UE_LOG(LogAwsGameKit, Log, TEXT("Shutting down AwsGameKitRuntime..."));
17 | runtimeModule->ShutdownModule();
18 |
19 | UE_LOG(LogAwsGameKit, Log, TEXT("Shutting down AwsGameKitCore..."));
20 | coreModule->ShutdownModule();
21 | }
22 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Public/Models/AwsGameKitCommonModels.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | #include "Dom/JsonObject.h"
7 | #include "Dom/JsonValue.h"
8 | #include "Serialization/JsonSerializer.h"
9 | #include "AwsGameKitCommonModels.generated.h"
10 |
11 | USTRUCT(BlueprintType)
12 | struct AWSGAMEKITRUNTIME_API FAwsGameKitOperationResult
13 | {
14 | GENERATED_USTRUCT_BODY()
15 | public:
16 | /**
17 | * A GameKit status code indicating the reason the API call failed. Status codes are defined in errors.h.
18 | * Each API's possible status codes should be documented on the "Error" pin of the API node.
19 | */
20 | UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "AWS GameKit | Core")
21 | int Status;
22 |
23 | /**
24 | * An optional error message which may explain why the API call failed.
25 | */
26 | UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "AWS GameKit | Core")
27 | FString Message;
28 | };
29 |
30 | UENUM(BlueprintType)
31 | enum class FeatureType_E : uint8
32 | {
33 | Main = 0 UMETA(DisplayName = "Main"),
34 | Identity = 1 UMETA(DisplayName = "Identity"),
35 | Authentication = 2 UMETA(DisplayName = "Authentication"),
36 | Achievements = 3 UMETA(DisplayName = "Achievements"),
37 | GameStateCloudSaving = 5 UMETA(DisplayName = "Game State Cloud Saving"),
38 | UserGameplayData = 6 UMETA(DisplayName = "User Gameplay Data")
39 | };
40 |
41 | UENUM(BlueprintType)
42 | enum class TokenType_E : uint8
43 | {
44 | AccessToken = 0 UMETA(DisplayName = "AccessToken"),
45 | RefreshToken =1 UMETA(DisplayName = "RefreshToken"),
46 | IdToken = 2 UMETA(DisplayName = "IdToken"),
47 | IamSessionToken = 3 UMETA(DisplayName = "IamSessionToken")
48 | };
49 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Public/Models/AwsGameKitSessionManagerModels.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | #include "AwsGameKitCommonModels.h"
7 | #include "AwsGameKitSessionManagerModels.generated.h"
8 |
9 | USTRUCT(BlueprintType)
10 | struct FSetTokenRequest
11 | {
12 | GENERATED_BODY()
13 |
14 | /**
15 | * The token type to set.
16 | */
17 | UPROPERTY(BlueprintReadWrite, Category = "AWS GameKit | SessionManager | Token")
18 | TokenType_E TokenType;
19 |
20 | /**
21 | * The value of the token
22 | */
23 | UPROPERTY(BlueprintReadWrite, Category = "AWS GameKit | SessionManager | Token")
24 | FString TokenValue;
25 | };
26 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Public/UserGameplayData/AwsGameKitUserGameplayDataStateHandler.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "Delegates/Delegate.h"
8 | #include "UObject/NoExportTypes.h"
9 |
10 | #include "AwsGameKitUserGameplayDataStateHandler.generated.h"
11 |
12 | /**
13 | * @brief This class sets and keeps the state of what delegates and other long term variables are to be used for the User Gameplay Data library.
14 | */
15 | UDELEGATE(BlueprintCallable, Category = "AWS GameKit | User Gameplay Data | Cache Processed Delegate")
16 | DECLARE_DYNAMIC_DELEGATE_OneParam(FCacheProcessedDelegate, bool, isCacheProcessed);
17 | class AWSGAMEKITRUNTIME_API AwsGameKitUserGameplayDataStateHandler
18 | {
19 | public:
20 | // Delegate that gets triggered when the offline cache is finished processing
21 | FCacheProcessedDelegate onCacheProcessedDelegate;
22 |
23 | /**
24 | * @brief Set the callback to invoke when the offline cache finishes processing.
25 | *
26 | * @param cacheProcessedDelegate Reference to receiver that will be notified on when the offline cache is finished processing
27 | */
28 | void SetCacheProcessedDelegate(const FCacheProcessedDelegate& cacheProcessedDelegate);
29 | };
30 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Public/Utils/Blueprints/UAwsGameKitErrorUtils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "Containers/UnrealString.h"
8 | #include "Kismet/BlueprintFunctionLibrary.h"
9 |
10 | #include "UAwsGameKitErrorUtils.generated.h" // Last include (Unreal requirement)
11 |
12 | /**
13 | * @brief A library with useful utility functions for handling GameKit status codes that can be called from both Blueprint and C++.
14 | */
15 | UCLASS()
16 | class AWSGAMEKITRUNTIME_API UAwsGameKitErrorUtils : public UBlueprintFunctionLibrary
17 | {
18 | GENERATED_BODY()
19 |
20 | public:
21 | /**
22 | * Convert a GameKit status code from decimal integer to a hexadecimal string representation.
23 | *
24 | * For example, convert 69632 (GAMEKIT_ERROR_GAME_SAVING_SLOT_NOT_FOUND) to "0x11000".
25 | *
26 | * All GameKit status codes are defined in errors.h. Each method's documentation lists the possible status codes which the method may return.
27 | *
28 | * @param statusCode The GameKit status code in integer form.
29 | *
30 | * @return The GameKit status code in hexadecimal string.
31 | */
32 | UFUNCTION(BlueprintCallable, Category = "AWS GameKit | Utilities | Errors")
33 | static FString StatusCodeToHexFString(int statusCode);
34 | };
35 |
--------------------------------------------------------------------------------
/AwsGameKit/Source/AwsGameKitRuntime/Public/Utils/Blueprints/UAwsGameKitLifecycleUtils.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2 | // SPDX-License-Identifier: Apache-2.0
3 |
4 | #pragma once
5 |
6 | // Unreal
7 | #include "CoreMinimal.h"
8 | #include "Kismet/BlueprintFunctionLibrary.h"
9 |
10 | #include "UAwsGameKitLifecycleUtils.generated.h" // Last include (Unreal requirement)
11 |
12 | /**
13 | * @brief A library with useful utility functions for GameKit lifecycle management
14 | */
15 | UCLASS()
16 | class AWSGAMEKITRUNTIME_API UAwsGameKitLifecycleUtils : public UBlueprintFunctionLibrary
17 | {
18 | GENERATED_BODY()
19 |
20 | public:
21 | /**
22 | * Shutsdown GameKit Modules
23 | */
24 | UFUNCTION(BlueprintCallable, Category = "AWS GameKit | Utilities | Lifecycle")
25 | static void ShutdownGameKit();
26 | };
27 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | ## Code of Conduct
2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
4 | opensource-codeofconduct@amazon.com with any additional questions or comments.
5 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## Need help?
2 | If you have questions, comments, or simply want to engage with the AWS GameKit developer community, please leverage our [issues list](https://github.com/aws/aws-gamekit/issues) where we actively monitor and respond to developer feedback and concerns.
3 |
4 | ## Report an issue
5 | If you find a bug in the source code or a mistake in the documentation, please submit an issue using the [issue tracker](https://github.com/aws/aws-gamekit/issues/new).
6 |
7 | Before opening a new issue, please look through the [open issues](https://github.com/aws/aws-gamekit/issues) to make sure it's not a duplicate. Avoiding duplicates allows our team to spend more time fixing bugs, adding new features, and making AWS GameKit awesome. If you find an existing issue and you have additional information, please add it to that issue.
8 |
9 | The following information will ensure a quick response:
10 |
11 | * **Overview** - provide a brief, but complete, overview of the issue you're encountering.
12 | * **OS and build** - tell us about your operating system and build.
13 | * **Game engine version and build** - tell us about your game engine version and build.
14 | * **Logs** - can you spot the issue in your logs?
15 | * **Related issues** - does a similar issue exist (open or closed)?
16 |
17 | ## Pull requests
18 | We are **not** accepting pull requests or community contributed bug fixes at this time.
19 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AWS GameKit Plugin for Unreal
2 |
3 | ## Dev Setup
4 |
5 | ### Unreal/C++
6 | **The plugin is developed using Unreal version 5.0. Install before proceeding.**
7 |
8 | Game projects created in Unreal versions later than 5.0 are not backward compatible. AWS GameKit supports Unreal Engine version 5.0.
9 |
10 | #### Build
11 |
12 | ##### Windows
13 | 1. Create the Visual Studio Solution for your game. In File Explorer, right click on `[your_game].uproject` and select "Generate Visual Studio project files"
14 |
15 | 2. Build [GameKit C++](https://github.com/aws/aws-gamekit) and copy over the DLL/PDB files. Make sure to checkout the matching version from the .gkcpp_version file in this repository. Note: this step is only needed if the plugin is being rebuilt. Prebuilt plugin for Windows, macOS, Android and iOS can be downloaded from this repository's [Releases](https://github.com/aws/aws-gamekit-unreal/releases).
16 |
17 | ##### macOS
18 | 1. Generate the Xcode workspace
19 |
20 | ```
21 | /Users/Shared/Epic\ Games/UE_5.0/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh -project
22 | ```
23 |
24 | 2. Build [GameKit C++](https://github.com/aws/aws-gamekit) and copy over the libraries. Make sure to checkout the matching version from the .gkcpp_version file in this repository. Note: this step is only needed if the plugin is being rebuilt. Prebuilt plugin for Windows, macOS, Android and iOS can be downloaded from this repository's [Releases](https://github.com/aws/aws-gamekit-unreal/releases).
25 |
26 | ##### Android and iOS
27 | Detailed steps for building and packaging a game for Android and iOS are available in the [Game Packaging section of our Production Readiness Guide](https://docs.aws.amazon.com/gamekit/latest/DevGuide/launch-package.html).
28 |
29 | ### Using the Plugin
30 | Check the updated [GUIDE](https://docs.aws.amazon.com/gamekit/latest/DevGuide/setting-up.html) for in-depth details about how to use AWS GameKit.
31 |
--------------------------------------------------------------------------------