aws-cdk-lib 2.139.1__py3-none-any.whl → 2.141.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +8 -0
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.139.1.jsii.tgz → aws-cdk-lib@2.141.0.jsii.tgz} +0 -0
- aws_cdk/aws_acmpca/__init__.py +70 -56
- aws_cdk/aws_apigateway/__init__.py +126 -53
- aws_cdk/aws_applicationautoscaling/__init__.py +1 -4
- aws_cdk/aws_arczonalshift/__init__.py +49 -44
- aws_cdk/aws_bedrock/__init__.py +2829 -147
- aws_cdk/aws_cloudfront/__init__.py +51 -9
- aws_cdk/aws_cloudtrail/__init__.py +13 -4
- aws_cdk/aws_codecommit/__init__.py +72 -46
- aws_cdk/aws_connectcampaigns/__init__.py +34 -4
- aws_cdk/aws_datasync/__init__.py +96 -75
- aws_cdk/aws_dms/__init__.py +0 -269
- aws_cdk/aws_dynamodb/__init__.py +410 -0
- aws_cdk/aws_ec2/__init__.py +239 -84
- aws_cdk/aws_ecr/__init__.py +32 -7
- aws_cdk/aws_ecs/__init__.py +2 -4
- aws_cdk/aws_efs/__init__.py +16 -2
- aws_cdk/aws_eks/__init__.py +57 -0
- aws_cdk/aws_entityresolution/__init__.py +6 -2
- aws_cdk/aws_events/__init__.py +115 -0
- aws_cdk/aws_events_targets/__init__.py +15 -0
- aws_cdk/aws_fis/__init__.py +2 -1
- aws_cdk/aws_fms/__init__.py +7 -7
- aws_cdk/aws_gamelift/__init__.py +1984 -107
- aws_cdk/aws_globalaccelerator/__init__.py +20 -16
- aws_cdk/aws_iam/__init__.py +2 -2
- aws_cdk/aws_ivs/__init__.py +1 -3
- aws_cdk/aws_kinesis/__init__.py +21 -0
- aws_cdk/aws_kinesisvideo/__init__.py +6 -4
- aws_cdk/aws_kms/__init__.py +33 -6
- aws_cdk/aws_lambda/__init__.py +0 -9
- aws_cdk/aws_location/__init__.py +8 -4
- aws_cdk/aws_medialive/__init__.py +444 -3
- aws_cdk/aws_oam/__init__.py +45 -11
- aws_cdk/aws_omics/__init__.py +4 -4
- aws_cdk/aws_paymentcryptography/__init__.py +1155 -0
- aws_cdk/aws_personalize/__init__.py +8 -2
- aws_cdk/aws_pinpoint/__init__.py +7 -5
- aws_cdk/aws_qbusiness/__init__.py +5583 -0
- aws_cdk/aws_quicksight/__init__.py +10063 -1450
- aws_cdk/aws_rds/__init__.py +77 -5
- aws_cdk/aws_redshiftserverless/__init__.py +13 -9
- aws_cdk/aws_route53/__init__.py +350 -0
- aws_cdk/aws_route53profiles/__init__.py +1048 -0
- aws_cdk/aws_s3/__init__.py +1 -1
- aws_cdk/aws_sagemaker/__init__.py +30 -30
- aws_cdk/aws_ses/__init__.py +9 -9
- aws_cdk/aws_transfer/__init__.py +102 -37
- aws_cdk/aws_voiceid/__init__.py +2 -2
- aws_cdk/aws_workspacesweb/__init__.py +92 -6
- aws_cdk/custom_resources/__init__.py +23 -2
- aws_cdk/cx_api/__init__.py +16 -0
- {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/RECORD +60 -57
- {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.141.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_gamelift/__init__.py
CHANGED
|
@@ -54,6 +54,7 @@ from .. import (
|
|
|
54
54
|
IInspectable as _IInspectable_c2943556,
|
|
55
55
|
IResolvable as _IResolvable_da3f097b,
|
|
56
56
|
ITaggable as _ITaggable_36806126,
|
|
57
|
+
ITaggableV2 as _ITaggableV2_4e6798f8,
|
|
57
58
|
TagManager as _TagManager_0a598cb3,
|
|
58
59
|
TreeInspector as _TreeInspector_488e0dd5,
|
|
59
60
|
)
|
|
@@ -856,6 +857,1340 @@ class CfnBuildProps:
|
|
|
856
857
|
)
|
|
857
858
|
|
|
858
859
|
|
|
860
|
+
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
861
|
+
class CfnContainerGroupDefinition(
|
|
862
|
+
_CfnResource_9df397a6,
|
|
863
|
+
metaclass=jsii.JSIIMeta,
|
|
864
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition",
|
|
865
|
+
):
|
|
866
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
867
|
+
|
|
868
|
+
The properties that describe a container group resource. Container group definition properties can't be updated. To change a property, create a new container group definition.
|
|
869
|
+
|
|
870
|
+
*Used with:* ``CreateContainerGroupDefinition``
|
|
871
|
+
|
|
872
|
+
*Returned by:* ``DescribeContainerGroupDefinition`` , ``ListContainerGroupDefinitions``
|
|
873
|
+
|
|
874
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html
|
|
875
|
+
:cloudformationResource: AWS::GameLift::ContainerGroupDefinition
|
|
876
|
+
:exampleMetadata: fixture=_generated
|
|
877
|
+
|
|
878
|
+
Example::
|
|
879
|
+
|
|
880
|
+
# The code below shows an example of how to instantiate this type.
|
|
881
|
+
# The values are placeholders you should change.
|
|
882
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
883
|
+
|
|
884
|
+
cfn_container_group_definition = gamelift.CfnContainerGroupDefinition(self, "MyCfnContainerGroupDefinition",
|
|
885
|
+
container_definitions=[gamelift.CfnContainerGroupDefinition.ContainerDefinitionProperty(
|
|
886
|
+
container_name="containerName",
|
|
887
|
+
image_uri="imageUri",
|
|
888
|
+
|
|
889
|
+
# the properties below are optional
|
|
890
|
+
command=["command"],
|
|
891
|
+
cpu=123,
|
|
892
|
+
depends_on=[gamelift.CfnContainerGroupDefinition.ContainerDependencyProperty(
|
|
893
|
+
condition="condition",
|
|
894
|
+
container_name="containerName"
|
|
895
|
+
)],
|
|
896
|
+
entry_point=["entryPoint"],
|
|
897
|
+
environment=[gamelift.CfnContainerGroupDefinition.ContainerEnvironmentProperty(
|
|
898
|
+
name="name",
|
|
899
|
+
value="value"
|
|
900
|
+
)],
|
|
901
|
+
essential=False,
|
|
902
|
+
health_check=gamelift.CfnContainerGroupDefinition.ContainerHealthCheckProperty(
|
|
903
|
+
command=["command"],
|
|
904
|
+
|
|
905
|
+
# the properties below are optional
|
|
906
|
+
interval=123,
|
|
907
|
+
retries=123,
|
|
908
|
+
start_period=123,
|
|
909
|
+
timeout=123
|
|
910
|
+
),
|
|
911
|
+
memory_limits=gamelift.CfnContainerGroupDefinition.MemoryLimitsProperty(
|
|
912
|
+
hard_limit=123,
|
|
913
|
+
soft_limit=123
|
|
914
|
+
),
|
|
915
|
+
port_configuration=gamelift.CfnContainerGroupDefinition.PortConfigurationProperty(
|
|
916
|
+
container_port_ranges=[gamelift.CfnContainerGroupDefinition.ContainerPortRangeProperty(
|
|
917
|
+
from_port=123,
|
|
918
|
+
protocol="protocol",
|
|
919
|
+
to_port=123
|
|
920
|
+
)]
|
|
921
|
+
),
|
|
922
|
+
resolved_image_digest="resolvedImageDigest",
|
|
923
|
+
working_directory="workingDirectory"
|
|
924
|
+
)],
|
|
925
|
+
name="name",
|
|
926
|
+
operating_system="operatingSystem",
|
|
927
|
+
total_cpu_limit=123,
|
|
928
|
+
total_memory_limit=123,
|
|
929
|
+
|
|
930
|
+
# the properties below are optional
|
|
931
|
+
scheduling_strategy="schedulingStrategy",
|
|
932
|
+
tags=[CfnTag(
|
|
933
|
+
key="key",
|
|
934
|
+
value="value"
|
|
935
|
+
)]
|
|
936
|
+
)
|
|
937
|
+
'''
|
|
938
|
+
|
|
939
|
+
def __init__(
|
|
940
|
+
self,
|
|
941
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
942
|
+
id: builtins.str,
|
|
943
|
+
*,
|
|
944
|
+
container_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.ContainerDefinitionProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
945
|
+
name: builtins.str,
|
|
946
|
+
operating_system: builtins.str,
|
|
947
|
+
total_cpu_limit: jsii.Number,
|
|
948
|
+
total_memory_limit: jsii.Number,
|
|
949
|
+
scheduling_strategy: typing.Optional[builtins.str] = None,
|
|
950
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
951
|
+
) -> None:
|
|
952
|
+
'''
|
|
953
|
+
:param scope: Scope in which this resource is defined.
|
|
954
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
955
|
+
:param container_definitions: The set of container definitions that are included in the container group.
|
|
956
|
+
:param name: A descriptive identifier for the container group definition. The name value is unique in an AWS Region.
|
|
957
|
+
:param operating_system: The platform required for all containers in the container group definition.
|
|
958
|
+
:param total_cpu_limit: The amount of CPU units on a fleet instance to allocate for the container group. All containers in the group share these resources. This property is an integer value in CPU units (1 vCPU is equal to 1024 CPU units). You can set additional limits for each ``ContainerDefinition`` in the group. If individual containers have limits, this value must be equal to or greater than the sum of all container-specific CPU limits in the group. For more details on memory allocation, see the `Container fleet design guide <https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet>`_ .
|
|
959
|
+
:param total_memory_limit: The amount of memory (in MiB) on a fleet instance to allocate for the container group. All containers in the group share these resources. You can set additional limits for each ``ContainerDefinition`` in the group. If individual containers have limits, this value must meet the following requirements: - Equal to or greater than the sum of all container-specific soft memory limits in the group. - Equal to or greater than any container-specific hard limits in the group. For more details on memory allocation, see the `Container fleet design guide <https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet>`_ .
|
|
960
|
+
:param scheduling_strategy: The method for deploying the container group across fleet instances. A replica container group might have multiple copies on each fleet instance. A daemon container group maintains only one copy per fleet instance.
|
|
961
|
+
:param tags: An array of key-value pairs to apply to this resource.
|
|
962
|
+
'''
|
|
963
|
+
if __debug__:
|
|
964
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2d0ad3aeb1243549bc05c0346bb1e8303d21326ec9f1a17ec63327d7e3f29a1e)
|
|
965
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
966
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
967
|
+
props = CfnContainerGroupDefinitionProps(
|
|
968
|
+
container_definitions=container_definitions,
|
|
969
|
+
name=name,
|
|
970
|
+
operating_system=operating_system,
|
|
971
|
+
total_cpu_limit=total_cpu_limit,
|
|
972
|
+
total_memory_limit=total_memory_limit,
|
|
973
|
+
scheduling_strategy=scheduling_strategy,
|
|
974
|
+
tags=tags,
|
|
975
|
+
)
|
|
976
|
+
|
|
977
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
978
|
+
|
|
979
|
+
@jsii.member(jsii_name="inspect")
|
|
980
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
981
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
982
|
+
|
|
983
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
984
|
+
'''
|
|
985
|
+
if __debug__:
|
|
986
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b07a706beb428681d6a41fe2a705cfe7e9f6f65c0df4708d633a856c73d6fa7b)
|
|
987
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
988
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
989
|
+
|
|
990
|
+
@jsii.member(jsii_name="renderProperties")
|
|
991
|
+
def _render_properties(
|
|
992
|
+
self,
|
|
993
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
994
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
995
|
+
'''
|
|
996
|
+
:param props: -
|
|
997
|
+
'''
|
|
998
|
+
if __debug__:
|
|
999
|
+
type_hints = typing.get_type_hints(_typecheckingstub__abcc96ad0c8f9f987fd719eb37179f12dda8829dbbc0b9fb28188a52044ec711)
|
|
1000
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
1001
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
1002
|
+
|
|
1003
|
+
@jsii.python.classproperty
|
|
1004
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
1005
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
1006
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
1007
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
1008
|
+
|
|
1009
|
+
@builtins.property
|
|
1010
|
+
@jsii.member(jsii_name="attrContainerGroupDefinitionArn")
|
|
1011
|
+
def attr_container_group_definition_arn(self) -> builtins.str:
|
|
1012
|
+
'''The Amazon Resource Name ( `ARN <https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html>`_ ) that is assigned to an Amazon GameLift ``ContainerGroupDefinition`` resource. It uniquely identifies the resource across all AWS Regions. Format is ``arn:aws:gamelift:<region>::containergroupdefinition/[container group definition name]`` .
|
|
1013
|
+
|
|
1014
|
+
:cloudformationAttribute: ContainerGroupDefinitionArn
|
|
1015
|
+
'''
|
|
1016
|
+
return typing.cast(builtins.str, jsii.get(self, "attrContainerGroupDefinitionArn"))
|
|
1017
|
+
|
|
1018
|
+
@builtins.property
|
|
1019
|
+
@jsii.member(jsii_name="attrCreationTime")
|
|
1020
|
+
def attr_creation_time(self) -> builtins.str:
|
|
1021
|
+
'''A time stamp indicating when this data object was created.
|
|
1022
|
+
|
|
1023
|
+
Format is a number expressed in Unix time as milliseconds (for example ``"1469498468.057"`` ).
|
|
1024
|
+
|
|
1025
|
+
:cloudformationAttribute: CreationTime
|
|
1026
|
+
'''
|
|
1027
|
+
return typing.cast(builtins.str, jsii.get(self, "attrCreationTime"))
|
|
1028
|
+
|
|
1029
|
+
@builtins.property
|
|
1030
|
+
@jsii.member(jsii_name="cdkTagManager")
|
|
1031
|
+
def cdk_tag_manager(self) -> _TagManager_0a598cb3:
|
|
1032
|
+
'''Tag Manager which manages the tags for this resource.'''
|
|
1033
|
+
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
|
|
1034
|
+
|
|
1035
|
+
@builtins.property
|
|
1036
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
1037
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1038
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
1039
|
+
|
|
1040
|
+
@builtins.property
|
|
1041
|
+
@jsii.member(jsii_name="containerDefinitions")
|
|
1042
|
+
def container_definitions(
|
|
1043
|
+
self,
|
|
1044
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerDefinitionProperty"]]]:
|
|
1045
|
+
'''The set of container definitions that are included in the container group.'''
|
|
1046
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerDefinitionProperty"]]], jsii.get(self, "containerDefinitions"))
|
|
1047
|
+
|
|
1048
|
+
@container_definitions.setter
|
|
1049
|
+
def container_definitions(
|
|
1050
|
+
self,
|
|
1051
|
+
value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerDefinitionProperty"]]],
|
|
1052
|
+
) -> None:
|
|
1053
|
+
if __debug__:
|
|
1054
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1d575dc521c3da1f3682c88ce08e24b38977a41bef8807469e908a4fc94b8be0)
|
|
1055
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1056
|
+
jsii.set(self, "containerDefinitions", value)
|
|
1057
|
+
|
|
1058
|
+
@builtins.property
|
|
1059
|
+
@jsii.member(jsii_name="name")
|
|
1060
|
+
def name(self) -> builtins.str:
|
|
1061
|
+
'''A descriptive identifier for the container group definition.'''
|
|
1062
|
+
return typing.cast(builtins.str, jsii.get(self, "name"))
|
|
1063
|
+
|
|
1064
|
+
@name.setter
|
|
1065
|
+
def name(self, value: builtins.str) -> None:
|
|
1066
|
+
if __debug__:
|
|
1067
|
+
type_hints = typing.get_type_hints(_typecheckingstub__90e8a024d1021ae9b57dadc57167a55f375efa5756fd3358541d1bbca8f16cf0)
|
|
1068
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1069
|
+
jsii.set(self, "name", value)
|
|
1070
|
+
|
|
1071
|
+
@builtins.property
|
|
1072
|
+
@jsii.member(jsii_name="operatingSystem")
|
|
1073
|
+
def operating_system(self) -> builtins.str:
|
|
1074
|
+
'''The platform required for all containers in the container group definition.'''
|
|
1075
|
+
return typing.cast(builtins.str, jsii.get(self, "operatingSystem"))
|
|
1076
|
+
|
|
1077
|
+
@operating_system.setter
|
|
1078
|
+
def operating_system(self, value: builtins.str) -> None:
|
|
1079
|
+
if __debug__:
|
|
1080
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8f85c42319aa42e6c796369d8760bfb73c97a6305632fa1b86497b93a214a2ec)
|
|
1081
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1082
|
+
jsii.set(self, "operatingSystem", value)
|
|
1083
|
+
|
|
1084
|
+
@builtins.property
|
|
1085
|
+
@jsii.member(jsii_name="totalCpuLimit")
|
|
1086
|
+
def total_cpu_limit(self) -> jsii.Number:
|
|
1087
|
+
'''The amount of CPU units on a fleet instance to allocate for the container group.'''
|
|
1088
|
+
return typing.cast(jsii.Number, jsii.get(self, "totalCpuLimit"))
|
|
1089
|
+
|
|
1090
|
+
@total_cpu_limit.setter
|
|
1091
|
+
def total_cpu_limit(self, value: jsii.Number) -> None:
|
|
1092
|
+
if __debug__:
|
|
1093
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c70806f2091ef0e31ae18f95ca9388e13070bc234c9db0acb79308e3bb8064c8)
|
|
1094
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1095
|
+
jsii.set(self, "totalCpuLimit", value)
|
|
1096
|
+
|
|
1097
|
+
@builtins.property
|
|
1098
|
+
@jsii.member(jsii_name="totalMemoryLimit")
|
|
1099
|
+
def total_memory_limit(self) -> jsii.Number:
|
|
1100
|
+
'''The amount of memory (in MiB) on a fleet instance to allocate for the container group.'''
|
|
1101
|
+
return typing.cast(jsii.Number, jsii.get(self, "totalMemoryLimit"))
|
|
1102
|
+
|
|
1103
|
+
@total_memory_limit.setter
|
|
1104
|
+
def total_memory_limit(self, value: jsii.Number) -> None:
|
|
1105
|
+
if __debug__:
|
|
1106
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b4cc7de67e0ef4b7a915c9522aa5d27817d4c88d3cc0d6cc3897ec44fe82624e)
|
|
1107
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1108
|
+
jsii.set(self, "totalMemoryLimit", value)
|
|
1109
|
+
|
|
1110
|
+
@builtins.property
|
|
1111
|
+
@jsii.member(jsii_name="schedulingStrategy")
|
|
1112
|
+
def scheduling_strategy(self) -> typing.Optional[builtins.str]:
|
|
1113
|
+
'''The method for deploying the container group across fleet instances.'''
|
|
1114
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "schedulingStrategy"))
|
|
1115
|
+
|
|
1116
|
+
@scheduling_strategy.setter
|
|
1117
|
+
def scheduling_strategy(self, value: typing.Optional[builtins.str]) -> None:
|
|
1118
|
+
if __debug__:
|
|
1119
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ee4192c1232484aa6cb4b7a0ff2133a07c228af7fc593005174668d67f88e787)
|
|
1120
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1121
|
+
jsii.set(self, "schedulingStrategy", value)
|
|
1122
|
+
|
|
1123
|
+
@builtins.property
|
|
1124
|
+
@jsii.member(jsii_name="tags")
|
|
1125
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
1126
|
+
'''An array of key-value pairs to apply to this resource.'''
|
|
1127
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
|
|
1128
|
+
|
|
1129
|
+
@tags.setter
|
|
1130
|
+
def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
|
|
1131
|
+
if __debug__:
|
|
1132
|
+
type_hints = typing.get_type_hints(_typecheckingstub__39d9905e11429554186c96e0a5c07109b132519014161fc8e8d7aa9f4250218d)
|
|
1133
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1134
|
+
jsii.set(self, "tags", value)
|
|
1135
|
+
|
|
1136
|
+
@jsii.data_type(
|
|
1137
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.ContainerDefinitionProperty",
|
|
1138
|
+
jsii_struct_bases=[],
|
|
1139
|
+
name_mapping={
|
|
1140
|
+
"container_name": "containerName",
|
|
1141
|
+
"image_uri": "imageUri",
|
|
1142
|
+
"command": "command",
|
|
1143
|
+
"cpu": "cpu",
|
|
1144
|
+
"depends_on": "dependsOn",
|
|
1145
|
+
"entry_point": "entryPoint",
|
|
1146
|
+
"environment": "environment",
|
|
1147
|
+
"essential": "essential",
|
|
1148
|
+
"health_check": "healthCheck",
|
|
1149
|
+
"memory_limits": "memoryLimits",
|
|
1150
|
+
"port_configuration": "portConfiguration",
|
|
1151
|
+
"resolved_image_digest": "resolvedImageDigest",
|
|
1152
|
+
"working_directory": "workingDirectory",
|
|
1153
|
+
},
|
|
1154
|
+
)
|
|
1155
|
+
class ContainerDefinitionProperty:
|
|
1156
|
+
def __init__(
|
|
1157
|
+
self,
|
|
1158
|
+
*,
|
|
1159
|
+
container_name: builtins.str,
|
|
1160
|
+
image_uri: builtins.str,
|
|
1161
|
+
command: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1162
|
+
cpu: typing.Optional[jsii.Number] = None,
|
|
1163
|
+
depends_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.ContainerDependencyProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1164
|
+
entry_point: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1165
|
+
environment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.ContainerEnvironmentProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1166
|
+
essential: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
1167
|
+
health_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.ContainerHealthCheckProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1168
|
+
memory_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.MemoryLimitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1169
|
+
port_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.PortConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1170
|
+
resolved_image_digest: typing.Optional[builtins.str] = None,
|
|
1171
|
+
working_directory: typing.Optional[builtins.str] = None,
|
|
1172
|
+
) -> None:
|
|
1173
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
1174
|
+
|
|
1175
|
+
Describes a container in a container fleet, the resources available to the container, and the commands that are run when the container starts. Container properties can't be updated. To change a property, create a new container group definition. See also ``ContainerDefinitionInput`` .
|
|
1176
|
+
|
|
1177
|
+
*Part of:* ``ContainerGroupDefinition``
|
|
1178
|
+
|
|
1179
|
+
*Returned by:* ``DescribeContainerGroupDefinition`` , ``ListContainerGroupDefinitions``
|
|
1180
|
+
|
|
1181
|
+
:param container_name: The container definition identifier. Container names are unique within a container group definition.
|
|
1182
|
+
:param image_uri: The URI to the image that $short; copied and deployed to a container fleet. For a more specific identifier, see ``ResolvedImageDigest`` .
|
|
1183
|
+
:param command: A command that's passed to the container on startup. Each argument for the command is an additional string in the array. See the `ContainerDefinition::command <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command>`_ parameter in the *Amazon Elastic Container Service API reference.*
|
|
1184
|
+
:param cpu: The number of CPU units that are reserved for the container. Note: 1 vCPU unit equals 1024 CPU units. If no resources are reserved, the container shares the total CPU limit for the container group. *Related data type:* ``ContainerGroupDefinition$TotalCpuLimit``
|
|
1185
|
+
:param depends_on: Indicates that the container relies on the status of other containers in the same container group during its startup and shutdown sequences. A container might have dependencies on multiple containers.
|
|
1186
|
+
:param entry_point: The entry point that's passed to the container on startup. If there are multiple arguments, each argument is an additional string in the array. See the `ContainerDefinition::entryPoint <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint>`_ parameter in the *Amazon Elastic Container Service API Reference* .
|
|
1187
|
+
:param environment: A set of environment variables that's passed to the container on startup. See the `ContainerDefinition::environment <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment>`_ parameter in the *Amazon Elastic Container Service API Reference* .
|
|
1188
|
+
:param essential: Indicates whether the container is vital to the container group. If an essential container fails, the entire container group is restarted.
|
|
1189
|
+
:param health_check: A configuration for a non-terminal health check. A container, which automatically restarts if it stops functioning, also restarts if it fails this health check. If an essential container in the daemon group fails a health check, the entire container group is restarted. The essential container in the replica group doesn't use this health check mechanism, because the Amazon GameLift Agent automatically handles the task.
|
|
1190
|
+
:param memory_limits: The amount of memory that Amazon GameLift makes available to the container. If memory limits aren't set for an individual container, the container shares the container group's total memory allocation. *Related data type:* ``ContainerGroupDefinition$TotalMemoryLimit``
|
|
1191
|
+
:param port_configuration: Defines the ports that are available to assign to processes in the container. For example, a game server process requires a container port to allow game clients to connect to it. Container ports aren't directly accessed by inbound traffic. Amazon GameLift maps these container ports to externally accessible connection ports, which are assigned as needed from the container fleet's ``ConnectionPortRange`` .
|
|
1192
|
+
:param resolved_image_digest: A unique and immutable identifier for the container image that is deployed to a container fleet. The digest is a SHA 256 hash of the container image manifest.
|
|
1193
|
+
:param working_directory: The directory in the container where commands are run. See the `ContainerDefinition::workingDirectory <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory>`_ parameter in the *Amazon Elastic Container Service API Reference* .
|
|
1194
|
+
|
|
1195
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html
|
|
1196
|
+
:exampleMetadata: fixture=_generated
|
|
1197
|
+
|
|
1198
|
+
Example::
|
|
1199
|
+
|
|
1200
|
+
# The code below shows an example of how to instantiate this type.
|
|
1201
|
+
# The values are placeholders you should change.
|
|
1202
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1203
|
+
|
|
1204
|
+
container_definition_property = gamelift.CfnContainerGroupDefinition.ContainerDefinitionProperty(
|
|
1205
|
+
container_name="containerName",
|
|
1206
|
+
image_uri="imageUri",
|
|
1207
|
+
|
|
1208
|
+
# the properties below are optional
|
|
1209
|
+
command=["command"],
|
|
1210
|
+
cpu=123,
|
|
1211
|
+
depends_on=[gamelift.CfnContainerGroupDefinition.ContainerDependencyProperty(
|
|
1212
|
+
condition="condition",
|
|
1213
|
+
container_name="containerName"
|
|
1214
|
+
)],
|
|
1215
|
+
entry_point=["entryPoint"],
|
|
1216
|
+
environment=[gamelift.CfnContainerGroupDefinition.ContainerEnvironmentProperty(
|
|
1217
|
+
name="name",
|
|
1218
|
+
value="value"
|
|
1219
|
+
)],
|
|
1220
|
+
essential=False,
|
|
1221
|
+
health_check=gamelift.CfnContainerGroupDefinition.ContainerHealthCheckProperty(
|
|
1222
|
+
command=["command"],
|
|
1223
|
+
|
|
1224
|
+
# the properties below are optional
|
|
1225
|
+
interval=123,
|
|
1226
|
+
retries=123,
|
|
1227
|
+
start_period=123,
|
|
1228
|
+
timeout=123
|
|
1229
|
+
),
|
|
1230
|
+
memory_limits=gamelift.CfnContainerGroupDefinition.MemoryLimitsProperty(
|
|
1231
|
+
hard_limit=123,
|
|
1232
|
+
soft_limit=123
|
|
1233
|
+
),
|
|
1234
|
+
port_configuration=gamelift.CfnContainerGroupDefinition.PortConfigurationProperty(
|
|
1235
|
+
container_port_ranges=[gamelift.CfnContainerGroupDefinition.ContainerPortRangeProperty(
|
|
1236
|
+
from_port=123,
|
|
1237
|
+
protocol="protocol",
|
|
1238
|
+
to_port=123
|
|
1239
|
+
)]
|
|
1240
|
+
),
|
|
1241
|
+
resolved_image_digest="resolvedImageDigest",
|
|
1242
|
+
working_directory="workingDirectory"
|
|
1243
|
+
)
|
|
1244
|
+
'''
|
|
1245
|
+
if __debug__:
|
|
1246
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3d96474fb31ceec64a55f6a09274f19f2dde05387b5bdd5c76ce6f26d90d5eb7)
|
|
1247
|
+
check_type(argname="argument container_name", value=container_name, expected_type=type_hints["container_name"])
|
|
1248
|
+
check_type(argname="argument image_uri", value=image_uri, expected_type=type_hints["image_uri"])
|
|
1249
|
+
check_type(argname="argument command", value=command, expected_type=type_hints["command"])
|
|
1250
|
+
check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
|
|
1251
|
+
check_type(argname="argument depends_on", value=depends_on, expected_type=type_hints["depends_on"])
|
|
1252
|
+
check_type(argname="argument entry_point", value=entry_point, expected_type=type_hints["entry_point"])
|
|
1253
|
+
check_type(argname="argument environment", value=environment, expected_type=type_hints["environment"])
|
|
1254
|
+
check_type(argname="argument essential", value=essential, expected_type=type_hints["essential"])
|
|
1255
|
+
check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
|
|
1256
|
+
check_type(argname="argument memory_limits", value=memory_limits, expected_type=type_hints["memory_limits"])
|
|
1257
|
+
check_type(argname="argument port_configuration", value=port_configuration, expected_type=type_hints["port_configuration"])
|
|
1258
|
+
check_type(argname="argument resolved_image_digest", value=resolved_image_digest, expected_type=type_hints["resolved_image_digest"])
|
|
1259
|
+
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
1260
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1261
|
+
"container_name": container_name,
|
|
1262
|
+
"image_uri": image_uri,
|
|
1263
|
+
}
|
|
1264
|
+
if command is not None:
|
|
1265
|
+
self._values["command"] = command
|
|
1266
|
+
if cpu is not None:
|
|
1267
|
+
self._values["cpu"] = cpu
|
|
1268
|
+
if depends_on is not None:
|
|
1269
|
+
self._values["depends_on"] = depends_on
|
|
1270
|
+
if entry_point is not None:
|
|
1271
|
+
self._values["entry_point"] = entry_point
|
|
1272
|
+
if environment is not None:
|
|
1273
|
+
self._values["environment"] = environment
|
|
1274
|
+
if essential is not None:
|
|
1275
|
+
self._values["essential"] = essential
|
|
1276
|
+
if health_check is not None:
|
|
1277
|
+
self._values["health_check"] = health_check
|
|
1278
|
+
if memory_limits is not None:
|
|
1279
|
+
self._values["memory_limits"] = memory_limits
|
|
1280
|
+
if port_configuration is not None:
|
|
1281
|
+
self._values["port_configuration"] = port_configuration
|
|
1282
|
+
if resolved_image_digest is not None:
|
|
1283
|
+
self._values["resolved_image_digest"] = resolved_image_digest
|
|
1284
|
+
if working_directory is not None:
|
|
1285
|
+
self._values["working_directory"] = working_directory
|
|
1286
|
+
|
|
1287
|
+
@builtins.property
|
|
1288
|
+
def container_name(self) -> builtins.str:
|
|
1289
|
+
'''The container definition identifier.
|
|
1290
|
+
|
|
1291
|
+
Container names are unique within a container group definition.
|
|
1292
|
+
|
|
1293
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-containername
|
|
1294
|
+
'''
|
|
1295
|
+
result = self._values.get("container_name")
|
|
1296
|
+
assert result is not None, "Required property 'container_name' is missing"
|
|
1297
|
+
return typing.cast(builtins.str, result)
|
|
1298
|
+
|
|
1299
|
+
@builtins.property
|
|
1300
|
+
def image_uri(self) -> builtins.str:
|
|
1301
|
+
'''The URI to the image that $short;
|
|
1302
|
+
|
|
1303
|
+
copied and deployed to a container fleet. For a more specific identifier, see ``ResolvedImageDigest`` .
|
|
1304
|
+
|
|
1305
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-imageuri
|
|
1306
|
+
'''
|
|
1307
|
+
result = self._values.get("image_uri")
|
|
1308
|
+
assert result is not None, "Required property 'image_uri' is missing"
|
|
1309
|
+
return typing.cast(builtins.str, result)
|
|
1310
|
+
|
|
1311
|
+
@builtins.property
|
|
1312
|
+
def command(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
1313
|
+
'''A command that's passed to the container on startup.
|
|
1314
|
+
|
|
1315
|
+
Each argument for the command is an additional string in the array. See the `ContainerDefinition::command <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-command>`_ parameter in the *Amazon Elastic Container Service API reference.*
|
|
1316
|
+
|
|
1317
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-command
|
|
1318
|
+
'''
|
|
1319
|
+
result = self._values.get("command")
|
|
1320
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
1321
|
+
|
|
1322
|
+
@builtins.property
|
|
1323
|
+
def cpu(self) -> typing.Optional[jsii.Number]:
|
|
1324
|
+
'''The number of CPU units that are reserved for the container.
|
|
1325
|
+
|
|
1326
|
+
Note: 1 vCPU unit equals 1024 CPU units. If no resources are reserved, the container shares the total CPU limit for the container group.
|
|
1327
|
+
|
|
1328
|
+
*Related data type:* ``ContainerGroupDefinition$TotalCpuLimit``
|
|
1329
|
+
|
|
1330
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-cpu
|
|
1331
|
+
'''
|
|
1332
|
+
result = self._values.get("cpu")
|
|
1333
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1334
|
+
|
|
1335
|
+
@builtins.property
|
|
1336
|
+
def depends_on(
|
|
1337
|
+
self,
|
|
1338
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerDependencyProperty"]]]]:
|
|
1339
|
+
'''Indicates that the container relies on the status of other containers in the same container group during its startup and shutdown sequences.
|
|
1340
|
+
|
|
1341
|
+
A container might have dependencies on multiple containers.
|
|
1342
|
+
|
|
1343
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-dependson
|
|
1344
|
+
'''
|
|
1345
|
+
result = self._values.get("depends_on")
|
|
1346
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerDependencyProperty"]]]], result)
|
|
1347
|
+
|
|
1348
|
+
@builtins.property
|
|
1349
|
+
def entry_point(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
1350
|
+
'''The entry point that's passed to the container on startup.
|
|
1351
|
+
|
|
1352
|
+
If there are multiple arguments, each argument is an additional string in the array. See the `ContainerDefinition::entryPoint <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-entryPoint>`_ parameter in the *Amazon Elastic Container Service API Reference* .
|
|
1353
|
+
|
|
1354
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-entrypoint
|
|
1355
|
+
'''
|
|
1356
|
+
result = self._values.get("entry_point")
|
|
1357
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
1358
|
+
|
|
1359
|
+
@builtins.property
|
|
1360
|
+
def environment(
|
|
1361
|
+
self,
|
|
1362
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerEnvironmentProperty"]]]]:
|
|
1363
|
+
'''A set of environment variables that's passed to the container on startup.
|
|
1364
|
+
|
|
1365
|
+
See the `ContainerDefinition::environment <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-environment>`_ parameter in the *Amazon Elastic Container Service API Reference* .
|
|
1366
|
+
|
|
1367
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-environment
|
|
1368
|
+
'''
|
|
1369
|
+
result = self._values.get("environment")
|
|
1370
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerEnvironmentProperty"]]]], result)
|
|
1371
|
+
|
|
1372
|
+
@builtins.property
|
|
1373
|
+
def essential(
|
|
1374
|
+
self,
|
|
1375
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
1376
|
+
'''Indicates whether the container is vital to the container group.
|
|
1377
|
+
|
|
1378
|
+
If an essential container fails, the entire container group is restarted.
|
|
1379
|
+
|
|
1380
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-essential
|
|
1381
|
+
'''
|
|
1382
|
+
result = self._values.get("essential")
|
|
1383
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
1384
|
+
|
|
1385
|
+
@builtins.property
|
|
1386
|
+
def health_check(
|
|
1387
|
+
self,
|
|
1388
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerHealthCheckProperty"]]:
|
|
1389
|
+
'''A configuration for a non-terminal health check.
|
|
1390
|
+
|
|
1391
|
+
A container, which automatically restarts if it stops functioning, also restarts if it fails this health check. If an essential container in the daemon group fails a health check, the entire container group is restarted. The essential container in the replica group doesn't use this health check mechanism, because the Amazon GameLift Agent automatically handles the task.
|
|
1392
|
+
|
|
1393
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-healthcheck
|
|
1394
|
+
'''
|
|
1395
|
+
result = self._values.get("health_check")
|
|
1396
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerHealthCheckProperty"]], result)
|
|
1397
|
+
|
|
1398
|
+
@builtins.property
|
|
1399
|
+
def memory_limits(
|
|
1400
|
+
self,
|
|
1401
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.MemoryLimitsProperty"]]:
|
|
1402
|
+
'''The amount of memory that Amazon GameLift makes available to the container.
|
|
1403
|
+
|
|
1404
|
+
If memory limits aren't set for an individual container, the container shares the container group's total memory allocation.
|
|
1405
|
+
|
|
1406
|
+
*Related data type:* ``ContainerGroupDefinition$TotalMemoryLimit``
|
|
1407
|
+
|
|
1408
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-memorylimits
|
|
1409
|
+
'''
|
|
1410
|
+
result = self._values.get("memory_limits")
|
|
1411
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.MemoryLimitsProperty"]], result)
|
|
1412
|
+
|
|
1413
|
+
@builtins.property
|
|
1414
|
+
def port_configuration(
|
|
1415
|
+
self,
|
|
1416
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.PortConfigurationProperty"]]:
|
|
1417
|
+
'''Defines the ports that are available to assign to processes in the container.
|
|
1418
|
+
|
|
1419
|
+
For example, a game server process requires a container port to allow game clients to connect to it. Container ports aren't directly accessed by inbound traffic. Amazon GameLift maps these container ports to externally accessible connection ports, which are assigned as needed from the container fleet's ``ConnectionPortRange`` .
|
|
1420
|
+
|
|
1421
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-portconfiguration
|
|
1422
|
+
'''
|
|
1423
|
+
result = self._values.get("port_configuration")
|
|
1424
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.PortConfigurationProperty"]], result)
|
|
1425
|
+
|
|
1426
|
+
@builtins.property
|
|
1427
|
+
def resolved_image_digest(self) -> typing.Optional[builtins.str]:
|
|
1428
|
+
'''A unique and immutable identifier for the container image that is deployed to a container fleet.
|
|
1429
|
+
|
|
1430
|
+
The digest is a SHA 256 hash of the container image manifest.
|
|
1431
|
+
|
|
1432
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-resolvedimagedigest
|
|
1433
|
+
'''
|
|
1434
|
+
result = self._values.get("resolved_image_digest")
|
|
1435
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1436
|
+
|
|
1437
|
+
@builtins.property
|
|
1438
|
+
def working_directory(self) -> typing.Optional[builtins.str]:
|
|
1439
|
+
'''The directory in the container where commands are run.
|
|
1440
|
+
|
|
1441
|
+
See the `ContainerDefinition::workingDirectory <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html#ECS-Type-ContainerDefinition-workingDirectory>`_ parameter in the *Amazon Elastic Container Service API Reference* .
|
|
1442
|
+
|
|
1443
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinition-workingdirectory
|
|
1444
|
+
'''
|
|
1445
|
+
result = self._values.get("working_directory")
|
|
1446
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
1447
|
+
|
|
1448
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1449
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1450
|
+
|
|
1451
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1452
|
+
return not (rhs == self)
|
|
1453
|
+
|
|
1454
|
+
def __repr__(self) -> str:
|
|
1455
|
+
return "ContainerDefinitionProperty(%s)" % ", ".join(
|
|
1456
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1457
|
+
)
|
|
1458
|
+
|
|
1459
|
+
@jsii.data_type(
|
|
1460
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.ContainerDependencyProperty",
|
|
1461
|
+
jsii_struct_bases=[],
|
|
1462
|
+
name_mapping={"condition": "condition", "container_name": "containerName"},
|
|
1463
|
+
)
|
|
1464
|
+
class ContainerDependencyProperty:
|
|
1465
|
+
def __init__(
|
|
1466
|
+
self,
|
|
1467
|
+
*,
|
|
1468
|
+
condition: builtins.str,
|
|
1469
|
+
container_name: builtins.str,
|
|
1470
|
+
) -> None:
|
|
1471
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
1472
|
+
|
|
1473
|
+
A container's dependency on another container in the same container group. The dependency impacts how the dependent container is able to start or shut down based the status of the other container.
|
|
1474
|
+
|
|
1475
|
+
For example, ContainerA is configured with the following dependency: a ``START`` dependency on ContainerB. This means that ContainerA can't start until ContainerB has started. It also means that ContainerA must shut down before ContainerB.
|
|
1476
|
+
|
|
1477
|
+
*Part of:* ``ContainerDefinition``
|
|
1478
|
+
|
|
1479
|
+
:param condition: The condition that the dependency container must reach before the dependent container can start. Valid conditions include:. - START - The dependency container must have started. - COMPLETE - The dependency container has run to completion (exits). Use this condition with nonessential containers, such as those that run a script and then exit. The dependency container can't be an essential container. - SUCCESS - The dependency container has run to completion and exited with a zero status. The dependency container can't be an essential container. - HEALTHY - The dependency container has passed its Docker health check. Use this condition with dependency containers that have health checks configured. This condition is confirmed at container group startup only.
|
|
1480
|
+
:param container_name: A descriptive label for the container definition that this container depends on.
|
|
1481
|
+
|
|
1482
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdependency.html
|
|
1483
|
+
:exampleMetadata: fixture=_generated
|
|
1484
|
+
|
|
1485
|
+
Example::
|
|
1486
|
+
|
|
1487
|
+
# The code below shows an example of how to instantiate this type.
|
|
1488
|
+
# The values are placeholders you should change.
|
|
1489
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1490
|
+
|
|
1491
|
+
container_dependency_property = gamelift.CfnContainerGroupDefinition.ContainerDependencyProperty(
|
|
1492
|
+
condition="condition",
|
|
1493
|
+
container_name="containerName"
|
|
1494
|
+
)
|
|
1495
|
+
'''
|
|
1496
|
+
if __debug__:
|
|
1497
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e8424bed9ce9567d13ec372652e5d607735583e13219bd42143f538aee3feb1f)
|
|
1498
|
+
check_type(argname="argument condition", value=condition, expected_type=type_hints["condition"])
|
|
1499
|
+
check_type(argname="argument container_name", value=container_name, expected_type=type_hints["container_name"])
|
|
1500
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1501
|
+
"condition": condition,
|
|
1502
|
+
"container_name": container_name,
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
@builtins.property
|
|
1506
|
+
def condition(self) -> builtins.str:
|
|
1507
|
+
'''The condition that the dependency container must reach before the dependent container can start. Valid conditions include:.
|
|
1508
|
+
|
|
1509
|
+
- START - The dependency container must have started.
|
|
1510
|
+
- COMPLETE - The dependency container has run to completion (exits). Use this condition with nonessential containers, such as those that run a script and then exit. The dependency container can't be an essential container.
|
|
1511
|
+
- SUCCESS - The dependency container has run to completion and exited with a zero status. The dependency container can't be an essential container.
|
|
1512
|
+
- HEALTHY - The dependency container has passed its Docker health check. Use this condition with dependency containers that have health checks configured. This condition is confirmed at container group startup only.
|
|
1513
|
+
|
|
1514
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdependency.html#cfn-gamelift-containergroupdefinition-containerdependency-condition
|
|
1515
|
+
'''
|
|
1516
|
+
result = self._values.get("condition")
|
|
1517
|
+
assert result is not None, "Required property 'condition' is missing"
|
|
1518
|
+
return typing.cast(builtins.str, result)
|
|
1519
|
+
|
|
1520
|
+
@builtins.property
|
|
1521
|
+
def container_name(self) -> builtins.str:
|
|
1522
|
+
'''A descriptive label for the container definition that this container depends on.
|
|
1523
|
+
|
|
1524
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerdependency.html#cfn-gamelift-containergroupdefinition-containerdependency-containername
|
|
1525
|
+
'''
|
|
1526
|
+
result = self._values.get("container_name")
|
|
1527
|
+
assert result is not None, "Required property 'container_name' is missing"
|
|
1528
|
+
return typing.cast(builtins.str, result)
|
|
1529
|
+
|
|
1530
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1531
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1532
|
+
|
|
1533
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1534
|
+
return not (rhs == self)
|
|
1535
|
+
|
|
1536
|
+
def __repr__(self) -> str:
|
|
1537
|
+
return "ContainerDependencyProperty(%s)" % ", ".join(
|
|
1538
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1539
|
+
)
|
|
1540
|
+
|
|
1541
|
+
@jsii.data_type(
|
|
1542
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.ContainerEnvironmentProperty",
|
|
1543
|
+
jsii_struct_bases=[],
|
|
1544
|
+
name_mapping={"name": "name", "value": "value"},
|
|
1545
|
+
)
|
|
1546
|
+
class ContainerEnvironmentProperty:
|
|
1547
|
+
def __init__(self, *, name: builtins.str, value: builtins.str) -> None:
|
|
1548
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
1549
|
+
|
|
1550
|
+
An environment variable to set inside a container, in the form of a key-value pair.
|
|
1551
|
+
|
|
1552
|
+
*Related data type:* ``ContainerDefinition$Environment``
|
|
1553
|
+
|
|
1554
|
+
:param name: The environment variable name.
|
|
1555
|
+
:param value: The environment variable value.
|
|
1556
|
+
|
|
1557
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerenvironment.html
|
|
1558
|
+
:exampleMetadata: fixture=_generated
|
|
1559
|
+
|
|
1560
|
+
Example::
|
|
1561
|
+
|
|
1562
|
+
# The code below shows an example of how to instantiate this type.
|
|
1563
|
+
# The values are placeholders you should change.
|
|
1564
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1565
|
+
|
|
1566
|
+
container_environment_property = gamelift.CfnContainerGroupDefinition.ContainerEnvironmentProperty(
|
|
1567
|
+
name="name",
|
|
1568
|
+
value="value"
|
|
1569
|
+
)
|
|
1570
|
+
'''
|
|
1571
|
+
if __debug__:
|
|
1572
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c8a971f77ef4383909669846d3e4ee4a8463f7353ec0c1aa4da152ea7ec43bb9)
|
|
1573
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
1574
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1575
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1576
|
+
"name": name,
|
|
1577
|
+
"value": value,
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1580
|
+
@builtins.property
|
|
1581
|
+
def name(self) -> builtins.str:
|
|
1582
|
+
'''The environment variable name.
|
|
1583
|
+
|
|
1584
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerenvironment.html#cfn-gamelift-containergroupdefinition-containerenvironment-name
|
|
1585
|
+
'''
|
|
1586
|
+
result = self._values.get("name")
|
|
1587
|
+
assert result is not None, "Required property 'name' is missing"
|
|
1588
|
+
return typing.cast(builtins.str, result)
|
|
1589
|
+
|
|
1590
|
+
@builtins.property
|
|
1591
|
+
def value(self) -> builtins.str:
|
|
1592
|
+
'''The environment variable value.
|
|
1593
|
+
|
|
1594
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerenvironment.html#cfn-gamelift-containergroupdefinition-containerenvironment-value
|
|
1595
|
+
'''
|
|
1596
|
+
result = self._values.get("value")
|
|
1597
|
+
assert result is not None, "Required property 'value' is missing"
|
|
1598
|
+
return typing.cast(builtins.str, result)
|
|
1599
|
+
|
|
1600
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1601
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1602
|
+
|
|
1603
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1604
|
+
return not (rhs == self)
|
|
1605
|
+
|
|
1606
|
+
def __repr__(self) -> str:
|
|
1607
|
+
return "ContainerEnvironmentProperty(%s)" % ", ".join(
|
|
1608
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1609
|
+
)
|
|
1610
|
+
|
|
1611
|
+
@jsii.data_type(
|
|
1612
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.ContainerHealthCheckProperty",
|
|
1613
|
+
jsii_struct_bases=[],
|
|
1614
|
+
name_mapping={
|
|
1615
|
+
"command": "command",
|
|
1616
|
+
"interval": "interval",
|
|
1617
|
+
"retries": "retries",
|
|
1618
|
+
"start_period": "startPeriod",
|
|
1619
|
+
"timeout": "timeout",
|
|
1620
|
+
},
|
|
1621
|
+
)
|
|
1622
|
+
class ContainerHealthCheckProperty:
|
|
1623
|
+
def __init__(
|
|
1624
|
+
self,
|
|
1625
|
+
*,
|
|
1626
|
+
command: typing.Sequence[builtins.str],
|
|
1627
|
+
interval: typing.Optional[jsii.Number] = None,
|
|
1628
|
+
retries: typing.Optional[jsii.Number] = None,
|
|
1629
|
+
start_period: typing.Optional[jsii.Number] = None,
|
|
1630
|
+
timeout: typing.Optional[jsii.Number] = None,
|
|
1631
|
+
) -> None:
|
|
1632
|
+
'''Instructions on when and how to check the health of a container in a container fleet.
|
|
1633
|
+
|
|
1634
|
+
When health check properties are set in a container definition, they override any Docker health checks in the container image. For more information on container health checks, see `HealthCheck command <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html#ECS-Type-HealthCheck-command>`_ in the *Amazon Elastic Container Service API* .
|
|
1635
|
+
|
|
1636
|
+
The following example instructions tell the container to wait 100 seconds after launch before counting failed health checks, then initiate the health check command every 60 seconds. After issuing the health check command, wait 10 seconds for it to succeed. If it fails, retry the command 3 times before considering the container to be unhealthy.
|
|
1637
|
+
|
|
1638
|
+
``{"Command": [ "CMD-SHELL", "ps cax | grep "processmanager" || exit 1" ], "Interval": 300, "Timeout": 30, "Retries": 5, "StartPeriod": 100 }``
|
|
1639
|
+
|
|
1640
|
+
*Part of:* ``ContainerDefinition$HealthCheck``
|
|
1641
|
+
|
|
1642
|
+
:param command: A string array that specifies the command that the container runs to determine if it's healthy.
|
|
1643
|
+
:param interval: The time period (in seconds) between each health check.
|
|
1644
|
+
:param retries: The number of times to retry a failed health check before the container is considered unhealthy. The first run of the command does not count as a retry.
|
|
1645
|
+
:param start_period: The optional grace period (in seconds) to give a container time to bootstrap before the first failed health check counts toward the number of retries.
|
|
1646
|
+
:param timeout: The time period (in seconds) to wait for a health check to succeed before a failed health check is counted.
|
|
1647
|
+
|
|
1648
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html
|
|
1649
|
+
:exampleMetadata: fixture=_generated
|
|
1650
|
+
|
|
1651
|
+
Example::
|
|
1652
|
+
|
|
1653
|
+
# The code below shows an example of how to instantiate this type.
|
|
1654
|
+
# The values are placeholders you should change.
|
|
1655
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1656
|
+
|
|
1657
|
+
container_health_check_property = gamelift.CfnContainerGroupDefinition.ContainerHealthCheckProperty(
|
|
1658
|
+
command=["command"],
|
|
1659
|
+
|
|
1660
|
+
# the properties below are optional
|
|
1661
|
+
interval=123,
|
|
1662
|
+
retries=123,
|
|
1663
|
+
start_period=123,
|
|
1664
|
+
timeout=123
|
|
1665
|
+
)
|
|
1666
|
+
'''
|
|
1667
|
+
if __debug__:
|
|
1668
|
+
type_hints = typing.get_type_hints(_typecheckingstub__95b1e7083ac6b3d39e0bc5926b3c9ee368385be498c61499a81f860b155d0a1d)
|
|
1669
|
+
check_type(argname="argument command", value=command, expected_type=type_hints["command"])
|
|
1670
|
+
check_type(argname="argument interval", value=interval, expected_type=type_hints["interval"])
|
|
1671
|
+
check_type(argname="argument retries", value=retries, expected_type=type_hints["retries"])
|
|
1672
|
+
check_type(argname="argument start_period", value=start_period, expected_type=type_hints["start_period"])
|
|
1673
|
+
check_type(argname="argument timeout", value=timeout, expected_type=type_hints["timeout"])
|
|
1674
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1675
|
+
"command": command,
|
|
1676
|
+
}
|
|
1677
|
+
if interval is not None:
|
|
1678
|
+
self._values["interval"] = interval
|
|
1679
|
+
if retries is not None:
|
|
1680
|
+
self._values["retries"] = retries
|
|
1681
|
+
if start_period is not None:
|
|
1682
|
+
self._values["start_period"] = start_period
|
|
1683
|
+
if timeout is not None:
|
|
1684
|
+
self._values["timeout"] = timeout
|
|
1685
|
+
|
|
1686
|
+
@builtins.property
|
|
1687
|
+
def command(self) -> typing.List[builtins.str]:
|
|
1688
|
+
'''A string array that specifies the command that the container runs to determine if it's healthy.
|
|
1689
|
+
|
|
1690
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html#cfn-gamelift-containergroupdefinition-containerhealthcheck-command
|
|
1691
|
+
'''
|
|
1692
|
+
result = self._values.get("command")
|
|
1693
|
+
assert result is not None, "Required property 'command' is missing"
|
|
1694
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
1695
|
+
|
|
1696
|
+
@builtins.property
|
|
1697
|
+
def interval(self) -> typing.Optional[jsii.Number]:
|
|
1698
|
+
'''The time period (in seconds) between each health check.
|
|
1699
|
+
|
|
1700
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html#cfn-gamelift-containergroupdefinition-containerhealthcheck-interval
|
|
1701
|
+
'''
|
|
1702
|
+
result = self._values.get("interval")
|
|
1703
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1704
|
+
|
|
1705
|
+
@builtins.property
|
|
1706
|
+
def retries(self) -> typing.Optional[jsii.Number]:
|
|
1707
|
+
'''The number of times to retry a failed health check before the container is considered unhealthy.
|
|
1708
|
+
|
|
1709
|
+
The first run of the command does not count as a retry.
|
|
1710
|
+
|
|
1711
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html#cfn-gamelift-containergroupdefinition-containerhealthcheck-retries
|
|
1712
|
+
'''
|
|
1713
|
+
result = self._values.get("retries")
|
|
1714
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1715
|
+
|
|
1716
|
+
@builtins.property
|
|
1717
|
+
def start_period(self) -> typing.Optional[jsii.Number]:
|
|
1718
|
+
'''The optional grace period (in seconds) to give a container time to bootstrap before the first failed health check counts toward the number of retries.
|
|
1719
|
+
|
|
1720
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html#cfn-gamelift-containergroupdefinition-containerhealthcheck-startperiod
|
|
1721
|
+
'''
|
|
1722
|
+
result = self._values.get("start_period")
|
|
1723
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1724
|
+
|
|
1725
|
+
@builtins.property
|
|
1726
|
+
def timeout(self) -> typing.Optional[jsii.Number]:
|
|
1727
|
+
'''The time period (in seconds) to wait for a health check to succeed before a failed health check is counted.
|
|
1728
|
+
|
|
1729
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerhealthcheck.html#cfn-gamelift-containergroupdefinition-containerhealthcheck-timeout
|
|
1730
|
+
'''
|
|
1731
|
+
result = self._values.get("timeout")
|
|
1732
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1733
|
+
|
|
1734
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1735
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1736
|
+
|
|
1737
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1738
|
+
return not (rhs == self)
|
|
1739
|
+
|
|
1740
|
+
def __repr__(self) -> str:
|
|
1741
|
+
return "ContainerHealthCheckProperty(%s)" % ", ".join(
|
|
1742
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1743
|
+
)
|
|
1744
|
+
|
|
1745
|
+
@jsii.data_type(
|
|
1746
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.ContainerPortRangeProperty",
|
|
1747
|
+
jsii_struct_bases=[],
|
|
1748
|
+
name_mapping={
|
|
1749
|
+
"from_port": "fromPort",
|
|
1750
|
+
"protocol": "protocol",
|
|
1751
|
+
"to_port": "toPort",
|
|
1752
|
+
},
|
|
1753
|
+
)
|
|
1754
|
+
class ContainerPortRangeProperty:
|
|
1755
|
+
def __init__(
|
|
1756
|
+
self,
|
|
1757
|
+
*,
|
|
1758
|
+
from_port: jsii.Number,
|
|
1759
|
+
protocol: builtins.str,
|
|
1760
|
+
to_port: jsii.Number,
|
|
1761
|
+
) -> None:
|
|
1762
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
1763
|
+
|
|
1764
|
+
A set of one or more port numbers that can be opened on the container.
|
|
1765
|
+
|
|
1766
|
+
*Part of:* ``ContainerPortConfiguration``
|
|
1767
|
+
|
|
1768
|
+
:param from_port: A starting value for the range of allowed port numbers.
|
|
1769
|
+
:param protocol: The network protocol that these ports support.
|
|
1770
|
+
:param to_port: An ending value for the range of allowed port numbers. Port numbers are end-inclusive. This value must be equal to or greater than ``FromPort`` .
|
|
1771
|
+
|
|
1772
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerportrange.html
|
|
1773
|
+
:exampleMetadata: fixture=_generated
|
|
1774
|
+
|
|
1775
|
+
Example::
|
|
1776
|
+
|
|
1777
|
+
# The code below shows an example of how to instantiate this type.
|
|
1778
|
+
# The values are placeholders you should change.
|
|
1779
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1780
|
+
|
|
1781
|
+
container_port_range_property = gamelift.CfnContainerGroupDefinition.ContainerPortRangeProperty(
|
|
1782
|
+
from_port=123,
|
|
1783
|
+
protocol="protocol",
|
|
1784
|
+
to_port=123
|
|
1785
|
+
)
|
|
1786
|
+
'''
|
|
1787
|
+
if __debug__:
|
|
1788
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2d3e35cf8a42e8cbcdf12218e64e5ac29c19f0813f144c8d75e97d3e3313d396)
|
|
1789
|
+
check_type(argname="argument from_port", value=from_port, expected_type=type_hints["from_port"])
|
|
1790
|
+
check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
|
|
1791
|
+
check_type(argname="argument to_port", value=to_port, expected_type=type_hints["to_port"])
|
|
1792
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1793
|
+
"from_port": from_port,
|
|
1794
|
+
"protocol": protocol,
|
|
1795
|
+
"to_port": to_port,
|
|
1796
|
+
}
|
|
1797
|
+
|
|
1798
|
+
@builtins.property
|
|
1799
|
+
def from_port(self) -> jsii.Number:
|
|
1800
|
+
'''A starting value for the range of allowed port numbers.
|
|
1801
|
+
|
|
1802
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerportrange.html#cfn-gamelift-containergroupdefinition-containerportrange-fromport
|
|
1803
|
+
'''
|
|
1804
|
+
result = self._values.get("from_port")
|
|
1805
|
+
assert result is not None, "Required property 'from_port' is missing"
|
|
1806
|
+
return typing.cast(jsii.Number, result)
|
|
1807
|
+
|
|
1808
|
+
@builtins.property
|
|
1809
|
+
def protocol(self) -> builtins.str:
|
|
1810
|
+
'''The network protocol that these ports support.
|
|
1811
|
+
|
|
1812
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerportrange.html#cfn-gamelift-containergroupdefinition-containerportrange-protocol
|
|
1813
|
+
'''
|
|
1814
|
+
result = self._values.get("protocol")
|
|
1815
|
+
assert result is not None, "Required property 'protocol' is missing"
|
|
1816
|
+
return typing.cast(builtins.str, result)
|
|
1817
|
+
|
|
1818
|
+
@builtins.property
|
|
1819
|
+
def to_port(self) -> jsii.Number:
|
|
1820
|
+
'''An ending value for the range of allowed port numbers.
|
|
1821
|
+
|
|
1822
|
+
Port numbers are end-inclusive. This value must be equal to or greater than ``FromPort`` .
|
|
1823
|
+
|
|
1824
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-containerportrange.html#cfn-gamelift-containergroupdefinition-containerportrange-toport
|
|
1825
|
+
'''
|
|
1826
|
+
result = self._values.get("to_port")
|
|
1827
|
+
assert result is not None, "Required property 'to_port' is missing"
|
|
1828
|
+
return typing.cast(jsii.Number, result)
|
|
1829
|
+
|
|
1830
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1831
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1832
|
+
|
|
1833
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1834
|
+
return not (rhs == self)
|
|
1835
|
+
|
|
1836
|
+
def __repr__(self) -> str:
|
|
1837
|
+
return "ContainerPortRangeProperty(%s)" % ", ".join(
|
|
1838
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1839
|
+
)
|
|
1840
|
+
|
|
1841
|
+
@jsii.data_type(
|
|
1842
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.MemoryLimitsProperty",
|
|
1843
|
+
jsii_struct_bases=[],
|
|
1844
|
+
name_mapping={"hard_limit": "hardLimit", "soft_limit": "softLimit"},
|
|
1845
|
+
)
|
|
1846
|
+
class MemoryLimitsProperty:
|
|
1847
|
+
def __init__(
|
|
1848
|
+
self,
|
|
1849
|
+
*,
|
|
1850
|
+
hard_limit: typing.Optional[jsii.Number] = None,
|
|
1851
|
+
soft_limit: typing.Optional[jsii.Number] = None,
|
|
1852
|
+
) -> None:
|
|
1853
|
+
'''Specifies how much memory is available to the container.
|
|
1854
|
+
|
|
1855
|
+
:param hard_limit: The hard limit of memory to reserve for the container.
|
|
1856
|
+
:param soft_limit: The amount of memory that is reserved for the container.
|
|
1857
|
+
|
|
1858
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-memorylimits.html
|
|
1859
|
+
:exampleMetadata: fixture=_generated
|
|
1860
|
+
|
|
1861
|
+
Example::
|
|
1862
|
+
|
|
1863
|
+
# The code below shows an example of how to instantiate this type.
|
|
1864
|
+
# The values are placeholders you should change.
|
|
1865
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1866
|
+
|
|
1867
|
+
memory_limits_property = gamelift.CfnContainerGroupDefinition.MemoryLimitsProperty(
|
|
1868
|
+
hard_limit=123,
|
|
1869
|
+
soft_limit=123
|
|
1870
|
+
)
|
|
1871
|
+
'''
|
|
1872
|
+
if __debug__:
|
|
1873
|
+
type_hints = typing.get_type_hints(_typecheckingstub__9ac03f75ba7cf3ff7267cf9e9544e940c9974e78a4d364eed01d2ebb6bc2d3fa)
|
|
1874
|
+
check_type(argname="argument hard_limit", value=hard_limit, expected_type=type_hints["hard_limit"])
|
|
1875
|
+
check_type(argname="argument soft_limit", value=soft_limit, expected_type=type_hints["soft_limit"])
|
|
1876
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1877
|
+
if hard_limit is not None:
|
|
1878
|
+
self._values["hard_limit"] = hard_limit
|
|
1879
|
+
if soft_limit is not None:
|
|
1880
|
+
self._values["soft_limit"] = soft_limit
|
|
1881
|
+
|
|
1882
|
+
@builtins.property
|
|
1883
|
+
def hard_limit(self) -> typing.Optional[jsii.Number]:
|
|
1884
|
+
'''The hard limit of memory to reserve for the container.
|
|
1885
|
+
|
|
1886
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-memorylimits.html#cfn-gamelift-containergroupdefinition-memorylimits-hardlimit
|
|
1887
|
+
'''
|
|
1888
|
+
result = self._values.get("hard_limit")
|
|
1889
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1890
|
+
|
|
1891
|
+
@builtins.property
|
|
1892
|
+
def soft_limit(self) -> typing.Optional[jsii.Number]:
|
|
1893
|
+
'''The amount of memory that is reserved for the container.
|
|
1894
|
+
|
|
1895
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-memorylimits.html#cfn-gamelift-containergroupdefinition-memorylimits-softlimit
|
|
1896
|
+
'''
|
|
1897
|
+
result = self._values.get("soft_limit")
|
|
1898
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1899
|
+
|
|
1900
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1901
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1902
|
+
|
|
1903
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1904
|
+
return not (rhs == self)
|
|
1905
|
+
|
|
1906
|
+
def __repr__(self) -> str:
|
|
1907
|
+
return "MemoryLimitsProperty(%s)" % ", ".join(
|
|
1908
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1909
|
+
)
|
|
1910
|
+
|
|
1911
|
+
@jsii.data_type(
|
|
1912
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinition.PortConfigurationProperty",
|
|
1913
|
+
jsii_struct_bases=[],
|
|
1914
|
+
name_mapping={"container_port_ranges": "containerPortRanges"},
|
|
1915
|
+
)
|
|
1916
|
+
class PortConfigurationProperty:
|
|
1917
|
+
def __init__(
|
|
1918
|
+
self,
|
|
1919
|
+
*,
|
|
1920
|
+
container_port_ranges: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainerGroupDefinition.ContainerPortRangeProperty", typing.Dict[builtins.str, typing.Any]]]]],
|
|
1921
|
+
) -> None:
|
|
1922
|
+
'''Defines the ports on a container.
|
|
1923
|
+
|
|
1924
|
+
:param container_port_ranges: Specifies one or more ranges of ports on a container.
|
|
1925
|
+
|
|
1926
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-portconfiguration.html
|
|
1927
|
+
:exampleMetadata: fixture=_generated
|
|
1928
|
+
|
|
1929
|
+
Example::
|
|
1930
|
+
|
|
1931
|
+
# The code below shows an example of how to instantiate this type.
|
|
1932
|
+
# The values are placeholders you should change.
|
|
1933
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
1934
|
+
|
|
1935
|
+
port_configuration_property = gamelift.CfnContainerGroupDefinition.PortConfigurationProperty(
|
|
1936
|
+
container_port_ranges=[gamelift.CfnContainerGroupDefinition.ContainerPortRangeProperty(
|
|
1937
|
+
from_port=123,
|
|
1938
|
+
protocol="protocol",
|
|
1939
|
+
to_port=123
|
|
1940
|
+
)]
|
|
1941
|
+
)
|
|
1942
|
+
'''
|
|
1943
|
+
if __debug__:
|
|
1944
|
+
type_hints = typing.get_type_hints(_typecheckingstub__49796d7f2a6fb9a60e370fb5b8e88da33d84ca298d8833d8e64e3d80586cedf7)
|
|
1945
|
+
check_type(argname="argument container_port_ranges", value=container_port_ranges, expected_type=type_hints["container_port_ranges"])
|
|
1946
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1947
|
+
"container_port_ranges": container_port_ranges,
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
@builtins.property
|
|
1951
|
+
def container_port_ranges(
|
|
1952
|
+
self,
|
|
1953
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerPortRangeProperty"]]]:
|
|
1954
|
+
'''Specifies one or more ranges of ports on a container.
|
|
1955
|
+
|
|
1956
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-containergroupdefinition-portconfiguration.html#cfn-gamelift-containergroupdefinition-portconfiguration-containerportranges
|
|
1957
|
+
'''
|
|
1958
|
+
result = self._values.get("container_port_ranges")
|
|
1959
|
+
assert result is not None, "Required property 'container_port_ranges' is missing"
|
|
1960
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnContainerGroupDefinition.ContainerPortRangeProperty"]]], result)
|
|
1961
|
+
|
|
1962
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1963
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1964
|
+
|
|
1965
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1966
|
+
return not (rhs == self)
|
|
1967
|
+
|
|
1968
|
+
def __repr__(self) -> str:
|
|
1969
|
+
return "PortConfigurationProperty(%s)" % ", ".join(
|
|
1970
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1971
|
+
)
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
@jsii.data_type(
|
|
1975
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnContainerGroupDefinitionProps",
|
|
1976
|
+
jsii_struct_bases=[],
|
|
1977
|
+
name_mapping={
|
|
1978
|
+
"container_definitions": "containerDefinitions",
|
|
1979
|
+
"name": "name",
|
|
1980
|
+
"operating_system": "operatingSystem",
|
|
1981
|
+
"total_cpu_limit": "totalCpuLimit",
|
|
1982
|
+
"total_memory_limit": "totalMemoryLimit",
|
|
1983
|
+
"scheduling_strategy": "schedulingStrategy",
|
|
1984
|
+
"tags": "tags",
|
|
1985
|
+
},
|
|
1986
|
+
)
|
|
1987
|
+
class CfnContainerGroupDefinitionProps:
|
|
1988
|
+
def __init__(
|
|
1989
|
+
self,
|
|
1990
|
+
*,
|
|
1991
|
+
container_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerDefinitionProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
1992
|
+
name: builtins.str,
|
|
1993
|
+
operating_system: builtins.str,
|
|
1994
|
+
total_cpu_limit: jsii.Number,
|
|
1995
|
+
total_memory_limit: jsii.Number,
|
|
1996
|
+
scheduling_strategy: typing.Optional[builtins.str] = None,
|
|
1997
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1998
|
+
) -> None:
|
|
1999
|
+
'''Properties for defining a ``CfnContainerGroupDefinition``.
|
|
2000
|
+
|
|
2001
|
+
:param container_definitions: The set of container definitions that are included in the container group.
|
|
2002
|
+
:param name: A descriptive identifier for the container group definition. The name value is unique in an AWS Region.
|
|
2003
|
+
:param operating_system: The platform required for all containers in the container group definition.
|
|
2004
|
+
:param total_cpu_limit: The amount of CPU units on a fleet instance to allocate for the container group. All containers in the group share these resources. This property is an integer value in CPU units (1 vCPU is equal to 1024 CPU units). You can set additional limits for each ``ContainerDefinition`` in the group. If individual containers have limits, this value must be equal to or greater than the sum of all container-specific CPU limits in the group. For more details on memory allocation, see the `Container fleet design guide <https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet>`_ .
|
|
2005
|
+
:param total_memory_limit: The amount of memory (in MiB) on a fleet instance to allocate for the container group. All containers in the group share these resources. You can set additional limits for each ``ContainerDefinition`` in the group. If individual containers have limits, this value must meet the following requirements: - Equal to or greater than the sum of all container-specific soft memory limits in the group. - Equal to or greater than any container-specific hard limits in the group. For more details on memory allocation, see the `Container fleet design guide <https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet>`_ .
|
|
2006
|
+
:param scheduling_strategy: The method for deploying the container group across fleet instances. A replica container group might have multiple copies on each fleet instance. A daemon container group maintains only one copy per fleet instance.
|
|
2007
|
+
:param tags: An array of key-value pairs to apply to this resource.
|
|
2008
|
+
|
|
2009
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html
|
|
2010
|
+
:exampleMetadata: fixture=_generated
|
|
2011
|
+
|
|
2012
|
+
Example::
|
|
2013
|
+
|
|
2014
|
+
# The code below shows an example of how to instantiate this type.
|
|
2015
|
+
# The values are placeholders you should change.
|
|
2016
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
2017
|
+
|
|
2018
|
+
cfn_container_group_definition_props = gamelift.CfnContainerGroupDefinitionProps(
|
|
2019
|
+
container_definitions=[gamelift.CfnContainerGroupDefinition.ContainerDefinitionProperty(
|
|
2020
|
+
container_name="containerName",
|
|
2021
|
+
image_uri="imageUri",
|
|
2022
|
+
|
|
2023
|
+
# the properties below are optional
|
|
2024
|
+
command=["command"],
|
|
2025
|
+
cpu=123,
|
|
2026
|
+
depends_on=[gamelift.CfnContainerGroupDefinition.ContainerDependencyProperty(
|
|
2027
|
+
condition="condition",
|
|
2028
|
+
container_name="containerName"
|
|
2029
|
+
)],
|
|
2030
|
+
entry_point=["entryPoint"],
|
|
2031
|
+
environment=[gamelift.CfnContainerGroupDefinition.ContainerEnvironmentProperty(
|
|
2032
|
+
name="name",
|
|
2033
|
+
value="value"
|
|
2034
|
+
)],
|
|
2035
|
+
essential=False,
|
|
2036
|
+
health_check=gamelift.CfnContainerGroupDefinition.ContainerHealthCheckProperty(
|
|
2037
|
+
command=["command"],
|
|
2038
|
+
|
|
2039
|
+
# the properties below are optional
|
|
2040
|
+
interval=123,
|
|
2041
|
+
retries=123,
|
|
2042
|
+
start_period=123,
|
|
2043
|
+
timeout=123
|
|
2044
|
+
),
|
|
2045
|
+
memory_limits=gamelift.CfnContainerGroupDefinition.MemoryLimitsProperty(
|
|
2046
|
+
hard_limit=123,
|
|
2047
|
+
soft_limit=123
|
|
2048
|
+
),
|
|
2049
|
+
port_configuration=gamelift.CfnContainerGroupDefinition.PortConfigurationProperty(
|
|
2050
|
+
container_port_ranges=[gamelift.CfnContainerGroupDefinition.ContainerPortRangeProperty(
|
|
2051
|
+
from_port=123,
|
|
2052
|
+
protocol="protocol",
|
|
2053
|
+
to_port=123
|
|
2054
|
+
)]
|
|
2055
|
+
),
|
|
2056
|
+
resolved_image_digest="resolvedImageDigest",
|
|
2057
|
+
working_directory="workingDirectory"
|
|
2058
|
+
)],
|
|
2059
|
+
name="name",
|
|
2060
|
+
operating_system="operatingSystem",
|
|
2061
|
+
total_cpu_limit=123,
|
|
2062
|
+
total_memory_limit=123,
|
|
2063
|
+
|
|
2064
|
+
# the properties below are optional
|
|
2065
|
+
scheduling_strategy="schedulingStrategy",
|
|
2066
|
+
tags=[CfnTag(
|
|
2067
|
+
key="key",
|
|
2068
|
+
value="value"
|
|
2069
|
+
)]
|
|
2070
|
+
)
|
|
2071
|
+
'''
|
|
2072
|
+
if __debug__:
|
|
2073
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6b760a12182b9da0a53204aa5510dae28c2cda4c4fba1ef77f0245093da04ea4)
|
|
2074
|
+
check_type(argname="argument container_definitions", value=container_definitions, expected_type=type_hints["container_definitions"])
|
|
2075
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
2076
|
+
check_type(argname="argument operating_system", value=operating_system, expected_type=type_hints["operating_system"])
|
|
2077
|
+
check_type(argname="argument total_cpu_limit", value=total_cpu_limit, expected_type=type_hints["total_cpu_limit"])
|
|
2078
|
+
check_type(argname="argument total_memory_limit", value=total_memory_limit, expected_type=type_hints["total_memory_limit"])
|
|
2079
|
+
check_type(argname="argument scheduling_strategy", value=scheduling_strategy, expected_type=type_hints["scheduling_strategy"])
|
|
2080
|
+
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
2081
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2082
|
+
"container_definitions": container_definitions,
|
|
2083
|
+
"name": name,
|
|
2084
|
+
"operating_system": operating_system,
|
|
2085
|
+
"total_cpu_limit": total_cpu_limit,
|
|
2086
|
+
"total_memory_limit": total_memory_limit,
|
|
2087
|
+
}
|
|
2088
|
+
if scheduling_strategy is not None:
|
|
2089
|
+
self._values["scheduling_strategy"] = scheduling_strategy
|
|
2090
|
+
if tags is not None:
|
|
2091
|
+
self._values["tags"] = tags
|
|
2092
|
+
|
|
2093
|
+
@builtins.property
|
|
2094
|
+
def container_definitions(
|
|
2095
|
+
self,
|
|
2096
|
+
) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnContainerGroupDefinition.ContainerDefinitionProperty]]]:
|
|
2097
|
+
'''The set of container definitions that are included in the container group.
|
|
2098
|
+
|
|
2099
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-containerdefinitions
|
|
2100
|
+
'''
|
|
2101
|
+
result = self._values.get("container_definitions")
|
|
2102
|
+
assert result is not None, "Required property 'container_definitions' is missing"
|
|
2103
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnContainerGroupDefinition.ContainerDefinitionProperty]]], result)
|
|
2104
|
+
|
|
2105
|
+
@builtins.property
|
|
2106
|
+
def name(self) -> builtins.str:
|
|
2107
|
+
'''A descriptive identifier for the container group definition.
|
|
2108
|
+
|
|
2109
|
+
The name value is unique in an AWS Region.
|
|
2110
|
+
|
|
2111
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-name
|
|
2112
|
+
'''
|
|
2113
|
+
result = self._values.get("name")
|
|
2114
|
+
assert result is not None, "Required property 'name' is missing"
|
|
2115
|
+
return typing.cast(builtins.str, result)
|
|
2116
|
+
|
|
2117
|
+
@builtins.property
|
|
2118
|
+
def operating_system(self) -> builtins.str:
|
|
2119
|
+
'''The platform required for all containers in the container group definition.
|
|
2120
|
+
|
|
2121
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-operatingsystem
|
|
2122
|
+
'''
|
|
2123
|
+
result = self._values.get("operating_system")
|
|
2124
|
+
assert result is not None, "Required property 'operating_system' is missing"
|
|
2125
|
+
return typing.cast(builtins.str, result)
|
|
2126
|
+
|
|
2127
|
+
@builtins.property
|
|
2128
|
+
def total_cpu_limit(self) -> jsii.Number:
|
|
2129
|
+
'''The amount of CPU units on a fleet instance to allocate for the container group.
|
|
2130
|
+
|
|
2131
|
+
All containers in the group share these resources. This property is an integer value in CPU units (1 vCPU is equal to 1024 CPU units).
|
|
2132
|
+
|
|
2133
|
+
You can set additional limits for each ``ContainerDefinition`` in the group. If individual containers have limits, this value must be equal to or greater than the sum of all container-specific CPU limits in the group.
|
|
2134
|
+
|
|
2135
|
+
For more details on memory allocation, see the `Container fleet design guide <https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet>`_ .
|
|
2136
|
+
|
|
2137
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-totalcpulimit
|
|
2138
|
+
'''
|
|
2139
|
+
result = self._values.get("total_cpu_limit")
|
|
2140
|
+
assert result is not None, "Required property 'total_cpu_limit' is missing"
|
|
2141
|
+
return typing.cast(jsii.Number, result)
|
|
2142
|
+
|
|
2143
|
+
@builtins.property
|
|
2144
|
+
def total_memory_limit(self) -> jsii.Number:
|
|
2145
|
+
'''The amount of memory (in MiB) on a fleet instance to allocate for the container group.
|
|
2146
|
+
|
|
2147
|
+
All containers in the group share these resources.
|
|
2148
|
+
|
|
2149
|
+
You can set additional limits for each ``ContainerDefinition`` in the group. If individual containers have limits, this value must meet the following requirements:
|
|
2150
|
+
|
|
2151
|
+
- Equal to or greater than the sum of all container-specific soft memory limits in the group.
|
|
2152
|
+
- Equal to or greater than any container-specific hard limits in the group.
|
|
2153
|
+
|
|
2154
|
+
For more details on memory allocation, see the `Container fleet design guide <https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet>`_ .
|
|
2155
|
+
|
|
2156
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-totalmemorylimit
|
|
2157
|
+
'''
|
|
2158
|
+
result = self._values.get("total_memory_limit")
|
|
2159
|
+
assert result is not None, "Required property 'total_memory_limit' is missing"
|
|
2160
|
+
return typing.cast(jsii.Number, result)
|
|
2161
|
+
|
|
2162
|
+
@builtins.property
|
|
2163
|
+
def scheduling_strategy(self) -> typing.Optional[builtins.str]:
|
|
2164
|
+
'''The method for deploying the container group across fleet instances.
|
|
2165
|
+
|
|
2166
|
+
A replica container group might have multiple copies on each fleet instance. A daemon container group maintains only one copy per fleet instance.
|
|
2167
|
+
|
|
2168
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-schedulingstrategy
|
|
2169
|
+
'''
|
|
2170
|
+
result = self._values.get("scheduling_strategy")
|
|
2171
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2172
|
+
|
|
2173
|
+
@builtins.property
|
|
2174
|
+
def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
|
|
2175
|
+
'''An array of key-value pairs to apply to this resource.
|
|
2176
|
+
|
|
2177
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-containergroupdefinition.html#cfn-gamelift-containergroupdefinition-tags
|
|
2178
|
+
'''
|
|
2179
|
+
result = self._values.get("tags")
|
|
2180
|
+
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
2181
|
+
|
|
2182
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2183
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2184
|
+
|
|
2185
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2186
|
+
return not (rhs == self)
|
|
2187
|
+
|
|
2188
|
+
def __repr__(self) -> str:
|
|
2189
|
+
return "CfnContainerGroupDefinitionProps(%s)" % ", ".join(
|
|
2190
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2191
|
+
)
|
|
2192
|
+
|
|
2193
|
+
|
|
859
2194
|
@jsii.implements(_IInspectable_c2943556)
|
|
860
2195
|
class CfnFleet(
|
|
861
2196
|
_CfnResource_9df397a6,
|
|
@@ -889,6 +2224,19 @@ class CfnFleet(
|
|
|
889
2224
|
certificate_type="certificateType"
|
|
890
2225
|
),
|
|
891
2226
|
compute_type="computeType",
|
|
2227
|
+
container_groups_configuration=gamelift.CfnFleet.ContainerGroupsConfigurationProperty(
|
|
2228
|
+
connection_port_range=gamelift.CfnFleet.ConnectionPortRangeProperty(
|
|
2229
|
+
from_port=123,
|
|
2230
|
+
to_port=123
|
|
2231
|
+
),
|
|
2232
|
+
container_group_definition_names=["containerGroupDefinitionNames"],
|
|
2233
|
+
|
|
2234
|
+
# the properties below are optional
|
|
2235
|
+
container_groups_per_instance=gamelift.CfnFleet.ContainerGroupsPerInstanceProperty(
|
|
2236
|
+
desired_replica_container_groups_per_instance=123,
|
|
2237
|
+
max_replica_container_groups_per_instance=123
|
|
2238
|
+
)
|
|
2239
|
+
),
|
|
892
2240
|
description="description",
|
|
893
2241
|
desired_ec2_instances=123,
|
|
894
2242
|
ec2_inbound_permissions=[gamelift.CfnFleet.IpPermissionProperty(
|
|
@@ -968,6 +2316,7 @@ class CfnFleet(
|
|
|
968
2316
|
build_id: typing.Optional[builtins.str] = None,
|
|
969
2317
|
certificate_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.CertificateConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
970
2318
|
compute_type: typing.Optional[builtins.str] = None,
|
|
2319
|
+
container_groups_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ContainerGroupsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
971
2320
|
description: typing.Optional[builtins.str] = None,
|
|
972
2321
|
desired_ec2_instances: typing.Optional[jsii.Number] = None,
|
|
973
2322
|
ec2_inbound_permissions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.IpPermissionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
@@ -995,18 +2344,19 @@ class CfnFleet(
|
|
|
995
2344
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
996
2345
|
:param name: A descriptive label that is associated with a fleet. Fleet names do not need to be unique.
|
|
997
2346
|
:param anywhere_configuration: Amazon GameLift Anywhere configuration options.
|
|
998
|
-
:param apply_capacity: Current resource capacity settings
|
|
2347
|
+
:param apply_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* `DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ , `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ , `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
999
2348
|
:param build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a ``READY`` status. This fleet setting cannot be changed once the fleet is created.
|
|
1000
2349
|
:param certificate_configuration: Prompts Amazon GameLift to generate a TLS/SSL certificate for the fleet. Amazon GameLift uses the certificates to encrypt traffic between game clients and the game servers running on Amazon GameLift. By default, the ``CertificateConfiguration`` is ``DISABLED`` . You can't change this property after you create the fleet. AWS Certificate Manager (ACM) certificates expire after 13 months. Certificate expiration can cause fleets to fail, preventing players from connecting to instances in the fleet. We recommend you replace fleets before 13 months, consider using fleet aliases for a smooth transition. .. epigraph:: ACM isn't available in all AWS regions. A fleet creation request with certificate generation enabled in an unsupported Region, fails with a 4xx error. For more information about the supported Regions, see `Supported Regions <https://docs.aws.amazon.com/acm/latest/userguide/acm-regions.html>`_ in the *AWS Certificate Manager User Guide* .
|
|
1001
|
-
:param compute_type: The type of compute resource used to host your game servers.
|
|
2350
|
+
:param compute_type: The type of compute resource used to host your game servers. - ``EC2`` – The game server build is deployed to Amazon EC2 instances for cloud hosting. This is the default setting. - ``CONTAINER`` – Container images with your game server build and supporting software are deployed to Amazon EC2 instances for cloud hosting. With this compute type, you must specify the ``ContainerGroupsConfiguration`` parameter. - ``ANYWHERE`` – Game servers or container images with your game server and supporting software are deployed to compute resources that are provided and managed by you. With this compute type, you can also set the ``AnywhereConfiguration`` parameter.
|
|
2351
|
+
:param container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*. Configuration details for a set of container groups, for use when creating a fleet with compute type ``CONTAINER`` . *Used with:* ``CreateFleet``
|
|
1002
2352
|
:param description: A description for the fleet.
|
|
1003
2353
|
:param desired_ec2_instances: The number of EC2 instances that you want this fleet to host. When creating a new fleet, GameLift automatically sets this value to "1" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.
|
|
1004
|
-
:param ec2_inbound_permissions: The
|
|
1005
|
-
:param ec2_instance_type: The Amazon GameLift-supported Amazon EC2 instance type to use
|
|
2354
|
+
:param ec2_inbound_permissions: The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet. Set this parameter for EC2 and container fleets. You can leave this parameter empty when creating the fleet, but you must call ``UpdateFleetPortSettings`` to set it before players can connect to game sessions. As a best practice, we recommend opening ports for remote access only when you need them and closing them when you're finished. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges. To manage inbound access for a container fleet, set this parameter to the same port numbers that you set for the fleet's connection port range. During the life of the fleet, update this parameter to control which connection ports are open to inbound traffic.
|
|
2355
|
+
:param ec2_instance_type: The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and container fleets. Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity. See `Amazon Elastic Compute Cloud Instance Types <https://docs.aws.amazon.com/ec2/instance-types/>`_ for detailed descriptions of Amazon EC2 instance types.
|
|
1006
2356
|
:param fleet_type: Indicates whether to use On-Demand or Spot instances for this fleet. By default, this property is set to ``ON_DEMAND`` . Learn more about when to use `On-Demand versus Spot Instances <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot>`_ . This fleet property can't be changed after the fleet is created.
|
|
1007
|
-
:param instance_role_arn: A unique identifier for an IAM role with access permissions to other AWS services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with AWS resources that you own or have access to. For more information about using the role with your game server builds, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ .
|
|
1008
|
-
:param instance_role_credentials_provider: Indicates that fleet instances maintain a shared credentials file for the IAM role defined in ``InstanceRoleArn`` . Shared credentials allow applications that are deployed with the game server executable to communicate with other AWS resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ .
|
|
1009
|
-
:param locations: A set of remote locations to deploy additional instances to and manage as part of the fleet. This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any Amazon GameLift-supported AWS Region as a remote location, in the form of an AWS Region code such as ``us-west-2`` . To create a fleet with instances in the home Region only, don't
|
|
2357
|
+
:param instance_role_arn: A unique identifier for an IAM role with access permissions to other AWS services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with AWS resources that you own or have access to. For more information about using the role with your game server builds, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ . This attribute is used with fleets where ``ComputeType`` is "EC2" or "Container".
|
|
2358
|
+
:param instance_role_credentials_provider: Indicates that fleet instances maintain a shared credentials file for the IAM role defined in ``InstanceRoleArn`` . Shared credentials allow applications that are deployed with the game server executable to communicate with other AWS resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ . This attribute is used with fleets where ``ComputeType`` is "EC2" or "Container".
|
|
2359
|
+
:param locations: A set of remote locations to deploy additional instances to and manage as part of the fleet. This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any Amazon GameLift-supported AWS Region as a remote location, in the form of an AWS Region code, such as ``us-west-2`` or Local Zone code. To create a fleet with instances in the home Region only, don't set this parameter. When using this parameter, Amazon GameLift requires you to include your home location in the request.
|
|
1010
2360
|
:param log_paths: (deprecated) This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()
|
|
1011
2361
|
:param max_size: The maximum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 1.
|
|
1012
2362
|
:param metric_groups: The name of an AWS CloudWatch metric group to add this fleet to. A metric group is used to aggregate the metrics for multiple fleets. You can specify an existing metric group name or set a new name to create a new metric group. A fleet can be included in only one metric group at a time.
|
|
@@ -1032,6 +2382,7 @@ class CfnFleet(
|
|
|
1032
2382
|
build_id=build_id,
|
|
1033
2383
|
certificate_configuration=certificate_configuration,
|
|
1034
2384
|
compute_type=compute_type,
|
|
2385
|
+
container_groups_configuration=container_groups_configuration,
|
|
1035
2386
|
description=description,
|
|
1036
2387
|
desired_ec2_instances=desired_ec2_instances,
|
|
1037
2388
|
ec2_inbound_permissions=ec2_inbound_permissions,
|
|
@@ -1087,6 +2438,17 @@ class CfnFleet(
|
|
|
1087
2438
|
'''The CloudFormation resource type name for this resource class.'''
|
|
1088
2439
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
1089
2440
|
|
|
2441
|
+
@builtins.property
|
|
2442
|
+
@jsii.member(jsii_name="attrContainerGroupsConfigurationContainerGroupsPerInstanceMaxReplicaContainerGroupsPerInstance")
|
|
2443
|
+
def attr_container_groups_configuration_container_groups_per_instance_max_replica_container_groups_per_instance(
|
|
2444
|
+
self,
|
|
2445
|
+
) -> jsii.Number:
|
|
2446
|
+
'''The maximum possible number of replica container groups that each fleet instance can have.
|
|
2447
|
+
|
|
2448
|
+
:cloudformationAttribute: ContainerGroupsConfiguration.ContainerGroupsPerInstance.MaxReplicaContainerGroupsPerInstance
|
|
2449
|
+
'''
|
|
2450
|
+
return typing.cast(jsii.Number, jsii.get(self, "attrContainerGroupsConfigurationContainerGroupsPerInstanceMaxReplicaContainerGroupsPerInstance"))
|
|
2451
|
+
|
|
1090
2452
|
@builtins.property
|
|
1091
2453
|
@jsii.member(jsii_name="attrFleetId")
|
|
1092
2454
|
def attr_fleet_id(self) -> builtins.str:
|
|
@@ -1135,7 +2497,7 @@ class CfnFleet(
|
|
|
1135
2497
|
@builtins.property
|
|
1136
2498
|
@jsii.member(jsii_name="applyCapacity")
|
|
1137
2499
|
def apply_capacity(self) -> typing.Optional[builtins.str]:
|
|
1138
|
-
'''Current resource capacity settings
|
|
2500
|
+
'''Current resource capacity settings for managed EC2 fleets and container fleets.'''
|
|
1139
2501
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "applyCapacity"))
|
|
1140
2502
|
|
|
1141
2503
|
@apply_capacity.setter
|
|
@@ -1189,6 +2551,24 @@ class CfnFleet(
|
|
|
1189
2551
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1190
2552
|
jsii.set(self, "computeType", value)
|
|
1191
2553
|
|
|
2554
|
+
@builtins.property
|
|
2555
|
+
@jsii.member(jsii_name="containerGroupsConfiguration")
|
|
2556
|
+
def container_groups_configuration(
|
|
2557
|
+
self,
|
|
2558
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.ContainerGroupsConfigurationProperty"]]:
|
|
2559
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.'''
|
|
2560
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.ContainerGroupsConfigurationProperty"]], jsii.get(self, "containerGroupsConfiguration"))
|
|
2561
|
+
|
|
2562
|
+
@container_groups_configuration.setter
|
|
2563
|
+
def container_groups_configuration(
|
|
2564
|
+
self,
|
|
2565
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.ContainerGroupsConfigurationProperty"]],
|
|
2566
|
+
) -> None:
|
|
2567
|
+
if __debug__:
|
|
2568
|
+
type_hints = typing.get_type_hints(_typecheckingstub__12ab5ebb46adc7fe2bb2e1911285f98090170c29093f6e28b584096baafa36aa)
|
|
2569
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2570
|
+
jsii.set(self, "containerGroupsConfiguration", value)
|
|
2571
|
+
|
|
1192
2572
|
@builtins.property
|
|
1193
2573
|
@jsii.member(jsii_name="description")
|
|
1194
2574
|
def description(self) -> typing.Optional[builtins.str]:
|
|
@@ -1220,7 +2600,7 @@ class CfnFleet(
|
|
|
1220
2600
|
def ec2_inbound_permissions(
|
|
1221
2601
|
self,
|
|
1222
2602
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFleet.IpPermissionProperty"]]]]:
|
|
1223
|
-
'''The
|
|
2603
|
+
'''The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet.'''
|
|
1224
2604
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFleet.IpPermissionProperty"]]]], jsii.get(self, "ec2InboundPermissions"))
|
|
1225
2605
|
|
|
1226
2606
|
@ec2_inbound_permissions.setter
|
|
@@ -1236,7 +2616,7 @@ class CfnFleet(
|
|
|
1236
2616
|
@builtins.property
|
|
1237
2617
|
@jsii.member(jsii_name="ec2InstanceType")
|
|
1238
2618
|
def ec2_instance_type(self) -> typing.Optional[builtins.str]:
|
|
1239
|
-
'''The Amazon GameLift-supported Amazon EC2 instance type to use
|
|
2619
|
+
'''The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and container fleets.'''
|
|
1240
2620
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ec2InstanceType"))
|
|
1241
2621
|
|
|
1242
2622
|
@ec2_instance_type.setter
|
|
@@ -1490,36 +2870,237 @@ class CfnFleet(
|
|
|
1490
2870
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1491
2871
|
jsii.set(self, "serverLaunchParameters", value)
|
|
1492
2872
|
|
|
1493
|
-
@builtins.property
|
|
1494
|
-
@jsii.member(jsii_name="serverLaunchPath")
|
|
1495
|
-
def server_launch_path(self) -> typing.Optional[builtins.str]:
|
|
1496
|
-
'''(deprecated) This parameter is no longer used.
|
|
2873
|
+
@builtins.property
|
|
2874
|
+
@jsii.member(jsii_name="serverLaunchPath")
|
|
2875
|
+
def server_launch_path(self) -> typing.Optional[builtins.str]:
|
|
2876
|
+
'''(deprecated) This parameter is no longer used.
|
|
2877
|
+
|
|
2878
|
+
:deprecated: this property has been deprecated
|
|
2879
|
+
|
|
2880
|
+
:stability: deprecated
|
|
2881
|
+
'''
|
|
2882
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverLaunchPath"))
|
|
2883
|
+
|
|
2884
|
+
@server_launch_path.setter
|
|
2885
|
+
def server_launch_path(self, value: typing.Optional[builtins.str]) -> None:
|
|
2886
|
+
if __debug__:
|
|
2887
|
+
type_hints = typing.get_type_hints(_typecheckingstub__63d5bf96be81c4a6b00ef1deb4d8846acf0053313fb89efd0ded1f0931c66844)
|
|
2888
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2889
|
+
jsii.set(self, "serverLaunchPath", value)
|
|
2890
|
+
|
|
2891
|
+
@jsii.data_type(
|
|
2892
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.AnywhereConfigurationProperty",
|
|
2893
|
+
jsii_struct_bases=[],
|
|
2894
|
+
name_mapping={"cost": "cost"},
|
|
2895
|
+
)
|
|
2896
|
+
class AnywhereConfigurationProperty:
|
|
2897
|
+
def __init__(self, *, cost: builtins.str) -> None:
|
|
2898
|
+
'''Amazon GameLift configuration options for your Anywhere fleets.
|
|
2899
|
+
|
|
2900
|
+
:param cost: The cost to run your fleet per hour. Amazon GameLift uses the provided cost of your fleet to balance usage in queues. For more information about queues, see `Setting up queues <https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html>`_ in the *Amazon GameLift Developer Guide* .
|
|
2901
|
+
|
|
2902
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-anywhereconfiguration.html
|
|
2903
|
+
:exampleMetadata: fixture=_generated
|
|
2904
|
+
|
|
2905
|
+
Example::
|
|
2906
|
+
|
|
2907
|
+
# The code below shows an example of how to instantiate this type.
|
|
2908
|
+
# The values are placeholders you should change.
|
|
2909
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
2910
|
+
|
|
2911
|
+
anywhere_configuration_property = gamelift.CfnFleet.AnywhereConfigurationProperty(
|
|
2912
|
+
cost="cost"
|
|
2913
|
+
)
|
|
2914
|
+
'''
|
|
2915
|
+
if __debug__:
|
|
2916
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e3897ffc82938e5bf4e6384b3a83b22f50c7189a71eb0fc30ea8f17642db5ef9)
|
|
2917
|
+
check_type(argname="argument cost", value=cost, expected_type=type_hints["cost"])
|
|
2918
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2919
|
+
"cost": cost,
|
|
2920
|
+
}
|
|
2921
|
+
|
|
2922
|
+
@builtins.property
|
|
2923
|
+
def cost(self) -> builtins.str:
|
|
2924
|
+
'''The cost to run your fleet per hour.
|
|
2925
|
+
|
|
2926
|
+
Amazon GameLift uses the provided cost of your fleet to balance usage in queues. For more information about queues, see `Setting up queues <https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html>`_ in the *Amazon GameLift Developer Guide* .
|
|
2927
|
+
|
|
2928
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-anywhereconfiguration.html#cfn-gamelift-fleet-anywhereconfiguration-cost
|
|
2929
|
+
'''
|
|
2930
|
+
result = self._values.get("cost")
|
|
2931
|
+
assert result is not None, "Required property 'cost' is missing"
|
|
2932
|
+
return typing.cast(builtins.str, result)
|
|
2933
|
+
|
|
2934
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2935
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2936
|
+
|
|
2937
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2938
|
+
return not (rhs == self)
|
|
2939
|
+
|
|
2940
|
+
def __repr__(self) -> str:
|
|
2941
|
+
return "AnywhereConfigurationProperty(%s)" % ", ".join(
|
|
2942
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2943
|
+
)
|
|
2944
|
+
|
|
2945
|
+
@jsii.data_type(
|
|
2946
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.CertificateConfigurationProperty",
|
|
2947
|
+
jsii_struct_bases=[],
|
|
2948
|
+
name_mapping={"certificate_type": "certificateType"},
|
|
2949
|
+
)
|
|
2950
|
+
class CertificateConfigurationProperty:
|
|
2951
|
+
def __init__(self, *, certificate_type: builtins.str) -> None:
|
|
2952
|
+
'''Determines whether a TLS/SSL certificate is generated for a fleet.
|
|
2953
|
+
|
|
2954
|
+
This feature must be enabled when creating the fleet. All instances in a fleet share the same certificate. The certificate can be retrieved by calling the `GameLift Server SDK <https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html>`_ operation ``GetInstanceCertificate`` .
|
|
2955
|
+
|
|
2956
|
+
:param certificate_type: Indicates whether a TLS/SSL certificate is generated for a fleet. Valid values include: - *GENERATED* - Generate a TLS/SSL certificate for this fleet. - *DISABLED* - (default) Do not generate a TLS/SSL certificate for this fleet.
|
|
2957
|
+
|
|
2958
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html
|
|
2959
|
+
:exampleMetadata: fixture=_generated
|
|
2960
|
+
|
|
2961
|
+
Example::
|
|
2962
|
+
|
|
2963
|
+
# The code below shows an example of how to instantiate this type.
|
|
2964
|
+
# The values are placeholders you should change.
|
|
2965
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
2966
|
+
|
|
2967
|
+
certificate_configuration_property = gamelift.CfnFleet.CertificateConfigurationProperty(
|
|
2968
|
+
certificate_type="certificateType"
|
|
2969
|
+
)
|
|
2970
|
+
'''
|
|
2971
|
+
if __debug__:
|
|
2972
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4c3cca5919f32f3e2cb6c385afda08bf3b194b8baf60b4d20e5f9f580659cc84)
|
|
2973
|
+
check_type(argname="argument certificate_type", value=certificate_type, expected_type=type_hints["certificate_type"])
|
|
2974
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2975
|
+
"certificate_type": certificate_type,
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2978
|
+
@builtins.property
|
|
2979
|
+
def certificate_type(self) -> builtins.str:
|
|
2980
|
+
'''Indicates whether a TLS/SSL certificate is generated for a fleet.
|
|
2981
|
+
|
|
2982
|
+
Valid values include:
|
|
2983
|
+
|
|
2984
|
+
- *GENERATED* - Generate a TLS/SSL certificate for this fleet.
|
|
2985
|
+
- *DISABLED* - (default) Do not generate a TLS/SSL certificate for this fleet.
|
|
2986
|
+
|
|
2987
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html#cfn-gamelift-fleet-certificateconfiguration-certificatetype
|
|
2988
|
+
'''
|
|
2989
|
+
result = self._values.get("certificate_type")
|
|
2990
|
+
assert result is not None, "Required property 'certificate_type' is missing"
|
|
2991
|
+
return typing.cast(builtins.str, result)
|
|
2992
|
+
|
|
2993
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2994
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2995
|
+
|
|
2996
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2997
|
+
return not (rhs == self)
|
|
2998
|
+
|
|
2999
|
+
def __repr__(self) -> str:
|
|
3000
|
+
return "CertificateConfigurationProperty(%s)" % ", ".join(
|
|
3001
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3002
|
+
)
|
|
3003
|
+
|
|
3004
|
+
@jsii.data_type(
|
|
3005
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.ConnectionPortRangeProperty",
|
|
3006
|
+
jsii_struct_bases=[],
|
|
3007
|
+
name_mapping={"from_port": "fromPort", "to_port": "toPort"},
|
|
3008
|
+
)
|
|
3009
|
+
class ConnectionPortRangeProperty:
|
|
3010
|
+
def __init__(self, *, from_port: jsii.Number, to_port: jsii.Number) -> None:
|
|
3011
|
+
'''*This operation has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
3012
|
+
|
|
3013
|
+
The set of port numbers to open on each instance in a container fleet. Connection ports are used by inbound traffic to connect with processes that are running in containers on the fleet.
|
|
3014
|
+
|
|
3015
|
+
*Part of:* ``ContainerGroupsConfiguration`` , ``ContainerGroupsAttributes``
|
|
3016
|
+
|
|
3017
|
+
:param from_port: Starting value for the port range.
|
|
3018
|
+
:param to_port: Ending value for the port. Port numbers are end-inclusive. This value must be equal to or greater than ``FromPort`` .
|
|
3019
|
+
|
|
3020
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-connectionportrange.html
|
|
3021
|
+
:exampleMetadata: fixture=_generated
|
|
3022
|
+
|
|
3023
|
+
Example::
|
|
3024
|
+
|
|
3025
|
+
# The code below shows an example of how to instantiate this type.
|
|
3026
|
+
# The values are placeholders you should change.
|
|
3027
|
+
from aws_cdk import aws_gamelift as gamelift
|
|
3028
|
+
|
|
3029
|
+
connection_port_range_property = gamelift.CfnFleet.ConnectionPortRangeProperty(
|
|
3030
|
+
from_port=123,
|
|
3031
|
+
to_port=123
|
|
3032
|
+
)
|
|
3033
|
+
'''
|
|
3034
|
+
if __debug__:
|
|
3035
|
+
type_hints = typing.get_type_hints(_typecheckingstub__65c7b986d31ccdfa5d51331dd935bb4233bcf101bbfe90052f66eb229319a0a8)
|
|
3036
|
+
check_type(argname="argument from_port", value=from_port, expected_type=type_hints["from_port"])
|
|
3037
|
+
check_type(argname="argument to_port", value=to_port, expected_type=type_hints["to_port"])
|
|
3038
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
3039
|
+
"from_port": from_port,
|
|
3040
|
+
"to_port": to_port,
|
|
3041
|
+
}
|
|
3042
|
+
|
|
3043
|
+
@builtins.property
|
|
3044
|
+
def from_port(self) -> jsii.Number:
|
|
3045
|
+
'''Starting value for the port range.
|
|
3046
|
+
|
|
3047
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-connectionportrange.html#cfn-gamelift-fleet-connectionportrange-fromport
|
|
3048
|
+
'''
|
|
3049
|
+
result = self._values.get("from_port")
|
|
3050
|
+
assert result is not None, "Required property 'from_port' is missing"
|
|
3051
|
+
return typing.cast(jsii.Number, result)
|
|
3052
|
+
|
|
3053
|
+
@builtins.property
|
|
3054
|
+
def to_port(self) -> jsii.Number:
|
|
3055
|
+
'''Ending value for the port.
|
|
3056
|
+
|
|
3057
|
+
Port numbers are end-inclusive. This value must be equal to or greater than ``FromPort`` .
|
|
1497
3058
|
|
|
1498
|
-
|
|
3059
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-connectionportrange.html#cfn-gamelift-fleet-connectionportrange-toport
|
|
3060
|
+
'''
|
|
3061
|
+
result = self._values.get("to_port")
|
|
3062
|
+
assert result is not None, "Required property 'to_port' is missing"
|
|
3063
|
+
return typing.cast(jsii.Number, result)
|
|
1499
3064
|
|
|
1500
|
-
:
|
|
1501
|
-
|
|
1502
|
-
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serverLaunchPath"))
|
|
3065
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3066
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1503
3067
|
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
3068
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3069
|
+
return not (rhs == self)
|
|
3070
|
+
|
|
3071
|
+
def __repr__(self) -> str:
|
|
3072
|
+
return "ConnectionPortRangeProperty(%s)" % ", ".join(
|
|
3073
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3074
|
+
)
|
|
1510
3075
|
|
|
1511
3076
|
@jsii.data_type(
|
|
1512
|
-
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.
|
|
3077
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.ContainerGroupsConfigurationProperty",
|
|
1513
3078
|
jsii_struct_bases=[],
|
|
1514
|
-
name_mapping={
|
|
3079
|
+
name_mapping={
|
|
3080
|
+
"connection_port_range": "connectionPortRange",
|
|
3081
|
+
"container_group_definition_names": "containerGroupDefinitionNames",
|
|
3082
|
+
"container_groups_per_instance": "containerGroupsPerInstance",
|
|
3083
|
+
},
|
|
1515
3084
|
)
|
|
1516
|
-
class
|
|
1517
|
-
def __init__(
|
|
1518
|
-
|
|
3085
|
+
class ContainerGroupsConfigurationProperty:
|
|
3086
|
+
def __init__(
|
|
3087
|
+
self,
|
|
3088
|
+
*,
|
|
3089
|
+
connection_port_range: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ConnectionPortRangeProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
3090
|
+
container_group_definition_names: typing.Sequence[builtins.str],
|
|
3091
|
+
container_groups_per_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.ContainerGroupsPerInstanceProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3092
|
+
) -> None:
|
|
3093
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
1519
3094
|
|
|
1520
|
-
|
|
3095
|
+
Configuration details for a set of container groups, for use when creating a fleet with compute type ``CONTAINER`` .
|
|
1521
3096
|
|
|
1522
|
-
|
|
3097
|
+
*Used with:* ``CreateFleet``
|
|
3098
|
+
|
|
3099
|
+
:param connection_port_range: A set of ports to allow inbound traffic, including game clients, to connect to processes running in the container fleet. Connection ports are dynamically mapped to container ports, which are assigned to individual processes running in a container. The connection port range must have enough ports to map to all container ports across a fleet instance. To calculate the minimum connection ports needed, use the following formula: *[Total number of container ports as defined for containers in the replica container group] * [Desired or calculated number of replica container groups per instance] + [Total number of container ports as defined for containers in the daemon container group]* As a best practice, double the minimum number of connection ports. .. epigraph:: Use the fleet's ``EC2InboundPermissions`` property to control external access to connection ports. Set this property to the connection port numbers that you want to open access to. See ``IpPermission`` for more details.
|
|
3100
|
+
:param container_group_definition_names: The list of container group definition names to deploy to a new container fleet.
|
|
3101
|
+
:param container_groups_per_instance: The number of container groups per instance.
|
|
3102
|
+
|
|
3103
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsconfiguration.html
|
|
1523
3104
|
:exampleMetadata: fixture=_generated
|
|
1524
3105
|
|
|
1525
3106
|
Example::
|
|
@@ -1528,28 +3109,73 @@ class CfnFleet(
|
|
|
1528
3109
|
# The values are placeholders you should change.
|
|
1529
3110
|
from aws_cdk import aws_gamelift as gamelift
|
|
1530
3111
|
|
|
1531
|
-
|
|
1532
|
-
|
|
3112
|
+
container_groups_configuration_property = gamelift.CfnFleet.ContainerGroupsConfigurationProperty(
|
|
3113
|
+
connection_port_range=gamelift.CfnFleet.ConnectionPortRangeProperty(
|
|
3114
|
+
from_port=123,
|
|
3115
|
+
to_port=123
|
|
3116
|
+
),
|
|
3117
|
+
container_group_definition_names=["containerGroupDefinitionNames"],
|
|
3118
|
+
|
|
3119
|
+
# the properties below are optional
|
|
3120
|
+
container_groups_per_instance=gamelift.CfnFleet.ContainerGroupsPerInstanceProperty(
|
|
3121
|
+
desired_replica_container_groups_per_instance=123,
|
|
3122
|
+
max_replica_container_groups_per_instance=123
|
|
3123
|
+
)
|
|
1533
3124
|
)
|
|
1534
3125
|
'''
|
|
1535
3126
|
if __debug__:
|
|
1536
|
-
type_hints = typing.get_type_hints(
|
|
1537
|
-
check_type(argname="argument
|
|
3127
|
+
type_hints = typing.get_type_hints(_typecheckingstub__af8dbebebd0e2db6dda0806b67c6edeb6e2460f1c55d333b8c83a5380be41afd)
|
|
3128
|
+
check_type(argname="argument connection_port_range", value=connection_port_range, expected_type=type_hints["connection_port_range"])
|
|
3129
|
+
check_type(argname="argument container_group_definition_names", value=container_group_definition_names, expected_type=type_hints["container_group_definition_names"])
|
|
3130
|
+
check_type(argname="argument container_groups_per_instance", value=container_groups_per_instance, expected_type=type_hints["container_groups_per_instance"])
|
|
1538
3131
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1539
|
-
"
|
|
3132
|
+
"connection_port_range": connection_port_range,
|
|
3133
|
+
"container_group_definition_names": container_group_definition_names,
|
|
1540
3134
|
}
|
|
3135
|
+
if container_groups_per_instance is not None:
|
|
3136
|
+
self._values["container_groups_per_instance"] = container_groups_per_instance
|
|
1541
3137
|
|
|
1542
3138
|
@builtins.property
|
|
1543
|
-
def
|
|
1544
|
-
|
|
3139
|
+
def connection_port_range(
|
|
3140
|
+
self,
|
|
3141
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnFleet.ConnectionPortRangeProperty"]:
|
|
3142
|
+
'''A set of ports to allow inbound traffic, including game clients, to connect to processes running in the container fleet.
|
|
1545
3143
|
|
|
1546
|
-
|
|
3144
|
+
Connection ports are dynamically mapped to container ports, which are assigned to individual processes running in a container. The connection port range must have enough ports to map to all container ports across a fleet instance. To calculate the minimum connection ports needed, use the following formula:
|
|
1547
3145
|
|
|
1548
|
-
|
|
3146
|
+
*[Total number of container ports as defined for containers in the replica container group] * [Desired or calculated number of replica container groups per instance] + [Total number of container ports as defined for containers in the daemon container group]*
|
|
3147
|
+
|
|
3148
|
+
As a best practice, double the minimum number of connection ports.
|
|
3149
|
+
.. epigraph::
|
|
3150
|
+
|
|
3151
|
+
Use the fleet's ``EC2InboundPermissions`` property to control external access to connection ports. Set this property to the connection port numbers that you want to open access to. See ``IpPermission`` for more details.
|
|
3152
|
+
|
|
3153
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsconfiguration.html#cfn-gamelift-fleet-containergroupsconfiguration-connectionportrange
|
|
1549
3154
|
'''
|
|
1550
|
-
result = self._values.get("
|
|
1551
|
-
assert result is not None, "Required property '
|
|
1552
|
-
return typing.cast(
|
|
3155
|
+
result = self._values.get("connection_port_range")
|
|
3156
|
+
assert result is not None, "Required property 'connection_port_range' is missing"
|
|
3157
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnFleet.ConnectionPortRangeProperty"], result)
|
|
3158
|
+
|
|
3159
|
+
@builtins.property
|
|
3160
|
+
def container_group_definition_names(self) -> typing.List[builtins.str]:
|
|
3161
|
+
'''The list of container group definition names to deploy to a new container fleet.
|
|
3162
|
+
|
|
3163
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsconfiguration.html#cfn-gamelift-fleet-containergroupsconfiguration-containergroupdefinitionnames
|
|
3164
|
+
'''
|
|
3165
|
+
result = self._values.get("container_group_definition_names")
|
|
3166
|
+
assert result is not None, "Required property 'container_group_definition_names' is missing"
|
|
3167
|
+
return typing.cast(typing.List[builtins.str], result)
|
|
3168
|
+
|
|
3169
|
+
@builtins.property
|
|
3170
|
+
def container_groups_per_instance(
|
|
3171
|
+
self,
|
|
3172
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.ContainerGroupsPerInstanceProperty"]]:
|
|
3173
|
+
'''The number of container groups per instance.
|
|
3174
|
+
|
|
3175
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsconfiguration.html#cfn-gamelift-fleet-containergroupsconfiguration-containergroupsperinstance
|
|
3176
|
+
'''
|
|
3177
|
+
result = self._values.get("container_groups_per_instance")
|
|
3178
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.ContainerGroupsPerInstanceProperty"]], result)
|
|
1553
3179
|
|
|
1554
3180
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1555
3181
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1558,24 +3184,43 @@ class CfnFleet(
|
|
|
1558
3184
|
return not (rhs == self)
|
|
1559
3185
|
|
|
1560
3186
|
def __repr__(self) -> str:
|
|
1561
|
-
return "
|
|
3187
|
+
return "ContainerGroupsConfigurationProperty(%s)" % ", ".join(
|
|
1562
3188
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
1563
3189
|
)
|
|
1564
3190
|
|
|
1565
3191
|
@jsii.data_type(
|
|
1566
|
-
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.
|
|
3192
|
+
jsii_type="aws-cdk-lib.aws_gamelift.CfnFleet.ContainerGroupsPerInstanceProperty",
|
|
1567
3193
|
jsii_struct_bases=[],
|
|
1568
|
-
name_mapping={
|
|
3194
|
+
name_mapping={
|
|
3195
|
+
"desired_replica_container_groups_per_instance": "desiredReplicaContainerGroupsPerInstance",
|
|
3196
|
+
"max_replica_container_groups_per_instance": "maxReplicaContainerGroupsPerInstance",
|
|
3197
|
+
},
|
|
1569
3198
|
)
|
|
1570
|
-
class
|
|
1571
|
-
def __init__(
|
|
1572
|
-
|
|
3199
|
+
class ContainerGroupsPerInstanceProperty:
|
|
3200
|
+
def __init__(
|
|
3201
|
+
self,
|
|
3202
|
+
*,
|
|
3203
|
+
desired_replica_container_groups_per_instance: typing.Optional[jsii.Number] = None,
|
|
3204
|
+
max_replica_container_groups_per_instance: typing.Optional[jsii.Number] = None,
|
|
3205
|
+
) -> None:
|
|
3206
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
1573
3207
|
|
|
1574
|
-
|
|
3208
|
+
Determines how many replica container groups that Amazon GameLift deploys to each instance in a container fleet.
|
|
1575
3209
|
|
|
1576
|
-
|
|
3210
|
+
Amazon GameLift calculates the maximum possible replica groups per instance based on the instance 's CPU and memory resources. When deploying a fleet, Amazon GameLift places replica container groups on each fleet instance based on the following:
|
|
1577
3211
|
|
|
1578
|
-
|
|
3212
|
+
- If no desired value is set, Amazon GameLift places the calculated maximum.
|
|
3213
|
+
- If a desired number is set to a value higher than the calculated maximum, fleet creation fails..
|
|
3214
|
+
- If a desired number is set to a value lower than the calculated maximum, Amazon GameLift places the desired number.
|
|
3215
|
+
|
|
3216
|
+
*Part of:* ``ContainerGroupsConfiguration`` , ``ContainerGroupsAttributes``
|
|
3217
|
+
|
|
3218
|
+
*Returned by:* ``DescribeFleetAttributes`` , ``CreateFleet``
|
|
3219
|
+
|
|
3220
|
+
:param desired_replica_container_groups_per_instance: The desired number of replica container groups to place on each fleet instance.
|
|
3221
|
+
:param max_replica_container_groups_per_instance: The maximum possible number of replica container groups that each fleet instance can have.
|
|
3222
|
+
|
|
3223
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsperinstance.html
|
|
1579
3224
|
:exampleMetadata: fixture=_generated
|
|
1580
3225
|
|
|
1581
3226
|
Example::
|
|
@@ -1584,31 +3229,42 @@ class CfnFleet(
|
|
|
1584
3229
|
# The values are placeholders you should change.
|
|
1585
3230
|
from aws_cdk import aws_gamelift as gamelift
|
|
1586
3231
|
|
|
1587
|
-
|
|
1588
|
-
|
|
3232
|
+
container_groups_per_instance_property = gamelift.CfnFleet.ContainerGroupsPerInstanceProperty(
|
|
3233
|
+
desired_replica_container_groups_per_instance=123,
|
|
3234
|
+
max_replica_container_groups_per_instance=123
|
|
1589
3235
|
)
|
|
1590
3236
|
'''
|
|
1591
3237
|
if __debug__:
|
|
1592
|
-
type_hints = typing.get_type_hints(
|
|
1593
|
-
check_type(argname="argument
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
3238
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3473ac2106ce855ef7577b99df8d3e14e6085d02c7bf0c0fb919636a907449c1)
|
|
3239
|
+
check_type(argname="argument desired_replica_container_groups_per_instance", value=desired_replica_container_groups_per_instance, expected_type=type_hints["desired_replica_container_groups_per_instance"])
|
|
3240
|
+
check_type(argname="argument max_replica_container_groups_per_instance", value=max_replica_container_groups_per_instance, expected_type=type_hints["max_replica_container_groups_per_instance"])
|
|
3241
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3242
|
+
if desired_replica_container_groups_per_instance is not None:
|
|
3243
|
+
self._values["desired_replica_container_groups_per_instance"] = desired_replica_container_groups_per_instance
|
|
3244
|
+
if max_replica_container_groups_per_instance is not None:
|
|
3245
|
+
self._values["max_replica_container_groups_per_instance"] = max_replica_container_groups_per_instance
|
|
1597
3246
|
|
|
1598
3247
|
@builtins.property
|
|
1599
|
-
def
|
|
1600
|
-
|
|
3248
|
+
def desired_replica_container_groups_per_instance(
|
|
3249
|
+
self,
|
|
3250
|
+
) -> typing.Optional[jsii.Number]:
|
|
3251
|
+
'''The desired number of replica container groups to place on each fleet instance.
|
|
1601
3252
|
|
|
1602
|
-
|
|
3253
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsperinstance.html#cfn-gamelift-fleet-containergroupsperinstance-desiredreplicacontainergroupsperinstance
|
|
3254
|
+
'''
|
|
3255
|
+
result = self._values.get("desired_replica_container_groups_per_instance")
|
|
3256
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1603
3257
|
|
|
1604
|
-
|
|
1605
|
-
|
|
3258
|
+
@builtins.property
|
|
3259
|
+
def max_replica_container_groups_per_instance(
|
|
3260
|
+
self,
|
|
3261
|
+
) -> typing.Optional[jsii.Number]:
|
|
3262
|
+
'''The maximum possible number of replica container groups that each fleet instance can have.
|
|
1606
3263
|
|
|
1607
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-
|
|
3264
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-containergroupsperinstance.html#cfn-gamelift-fleet-containergroupsperinstance-maxreplicacontainergroupsperinstance
|
|
1608
3265
|
'''
|
|
1609
|
-
result = self._values.get("
|
|
1610
|
-
|
|
1611
|
-
return typing.cast(builtins.str, result)
|
|
3266
|
+
result = self._values.get("max_replica_container_groups_per_instance")
|
|
3267
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
1612
3268
|
|
|
1613
3269
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1614
3270
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -1617,7 +3273,7 @@ class CfnFleet(
|
|
|
1617
3273
|
return not (rhs == self)
|
|
1618
3274
|
|
|
1619
3275
|
def __repr__(self) -> str:
|
|
1620
|
-
return "
|
|
3276
|
+
return "ContainerGroupsPerInstanceProperty(%s)" % ", ".join(
|
|
1621
3277
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
1622
3278
|
)
|
|
1623
3279
|
|
|
@@ -1758,13 +3414,11 @@ class CfnFleet(
|
|
|
1758
3414
|
max_size: jsii.Number,
|
|
1759
3415
|
min_size: jsii.Number,
|
|
1760
3416
|
) -> None:
|
|
1761
|
-
'''Current resource capacity settings
|
|
3417
|
+
'''Current resource capacity settings for managed EC2 fleets and container fleets.
|
|
1762
3418
|
|
|
1763
|
-
|
|
3419
|
+
For multi-location fleets, location values might refer to a fleet's remote location or its home Region.
|
|
1764
3420
|
|
|
1765
|
-
*
|
|
1766
|
-
|
|
1767
|
-
`DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ | `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ | `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
3421
|
+
*Returned by:* `DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ , `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ , `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
1768
3422
|
|
|
1769
3423
|
:param desired_ec2_instances: The number of Amazon EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits. Changes in desired instance value can take up to 1 minute to be reflected when viewing the fleet's capacity settings.
|
|
1770
3424
|
:param max_size: The maximum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 1.
|
|
@@ -1855,10 +3509,12 @@ class CfnFleet(
|
|
|
1855
3509
|
location: builtins.str,
|
|
1856
3510
|
location_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnFleet.LocationCapacityProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1857
3511
|
) -> None:
|
|
1858
|
-
'''
|
|
3512
|
+
'''*This data type has been expanded to use with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
3513
|
+
|
|
3514
|
+
A remote location where a multi-location fleet can deploy game servers for game hosting.
|
|
1859
3515
|
|
|
1860
3516
|
:param location: An AWS Region code, such as ``us-west-2`` .
|
|
1861
|
-
:param location_capacity: Current resource capacity settings
|
|
3517
|
+
:param location_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* `DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ , `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ , `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
1862
3518
|
|
|
1863
3519
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html
|
|
1864
3520
|
:exampleMetadata: fixture=_generated
|
|
@@ -1904,13 +3560,11 @@ class CfnFleet(
|
|
|
1904
3560
|
def location_capacity(
|
|
1905
3561
|
self,
|
|
1906
3562
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFleet.LocationCapacityProperty"]]:
|
|
1907
|
-
'''Current resource capacity settings
|
|
3563
|
+
'''Current resource capacity settings for managed EC2 fleets and container fleets.
|
|
1908
3564
|
|
|
1909
|
-
|
|
3565
|
+
For multi-location fleets, location values might refer to a fleet's remote location or its home Region.
|
|
1910
3566
|
|
|
1911
|
-
*
|
|
1912
|
-
|
|
1913
|
-
`DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ | `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ | `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
3567
|
+
*Returned by:* `DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ , `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ , `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
1914
3568
|
|
|
1915
3569
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-locationconfiguration.html#cfn-gamelift-fleet-locationconfiguration-locationcapacity
|
|
1916
3570
|
'''
|
|
@@ -2033,8 +3687,8 @@ class CfnFleet(
|
|
|
2033
3687
|
A GameLift instance is limited to 50 processes running concurrently. To calculate the total number of processes in a runtime configuration, add the values of the ``ConcurrentExecutions`` parameter for each ServerProcess. Learn more about `Running Multiple Processes on a Fleet <https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html>`_ .
|
|
2034
3688
|
|
|
2035
3689
|
:param game_session_activation_timeout_seconds: The maximum amount of time (in seconds) allowed to launch a new game session and have it report ready to host players. During this time, the game session is in status ``ACTIVATING`` . If the game session does not become active before the timeout, it is ended and the game session status is changed to ``TERMINATED`` .
|
|
2036
|
-
:param max_concurrent_game_session_activations: The number of game sessions in status ``ACTIVATING`` to allow on an instance. This setting limits the instance resources that can be used for new game activations at any one time.
|
|
2037
|
-
:param server_processes: A collection of server process configurations that identify what server processes to run on
|
|
3690
|
+
:param max_concurrent_game_session_activations: The number of game sessions in status ``ACTIVATING`` to allow on an instance or container. This setting limits the instance resources that can be used for new game activations at any one time.
|
|
3691
|
+
:param server_processes: A collection of server process configurations that identify what server processes to run on fleet computes.
|
|
2038
3692
|
|
|
2039
3693
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html
|
|
2040
3694
|
:exampleMetadata: fixture=_generated
|
|
@@ -2087,7 +3741,7 @@ class CfnFleet(
|
|
|
2087
3741
|
def max_concurrent_game_session_activations(
|
|
2088
3742
|
self,
|
|
2089
3743
|
) -> typing.Optional[jsii.Number]:
|
|
2090
|
-
'''The number of game sessions in status ``ACTIVATING`` to allow on an instance.
|
|
3744
|
+
'''The number of game sessions in status ``ACTIVATING`` to allow on an instance or container.
|
|
2091
3745
|
|
|
2092
3746
|
This setting limits the instance resources that can be used for new game activations at any one time.
|
|
2093
3747
|
|
|
@@ -2100,7 +3754,7 @@ class CfnFleet(
|
|
|
2100
3754
|
def server_processes(
|
|
2101
3755
|
self,
|
|
2102
3756
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnFleet.ServerProcessProperty"]]]]:
|
|
2103
|
-
'''A collection of server process configurations that identify what server processes to run on
|
|
3757
|
+
'''A collection of server process configurations that identify what server processes to run on fleet computes.
|
|
2104
3758
|
|
|
2105
3759
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-serverprocesses
|
|
2106
3760
|
'''
|
|
@@ -2415,7 +4069,7 @@ class CfnFleet(
|
|
|
2415
4069
|
|
|
2416
4070
|
Server processes run either an executable in a custom game build or a Realtime Servers script.
|
|
2417
4071
|
|
|
2418
|
-
:param concurrent_executions: The number of server processes using this configuration that run concurrently on each instance
|
|
4072
|
+
:param concurrent_executions: The number of server processes using this configuration that run concurrently on each instance or container..
|
|
2419
4073
|
:param launch_path: The location of a game build executable or Realtime script. Game builds and Realtime scripts are installed on instances at the root: - Windows (custom game builds only): ``C:\\game`` . Example: " ``C:\\game\\MyGame\\server.exe`` " - Linux: ``/local/game`` . Examples: " ``/local/game/MyGame/server.exe`` " or " ``/local/game/MyRealtimeScript.js`` " .. epigraph:: Amazon GameLift doesn't support the use of setup scripts that launch the game executable. For custom game builds, this parameter must indicate the executable that calls the server SDK operations ``initSDK()`` and ``ProcessReady()`` .
|
|
2420
4074
|
:param parameters: An optional list of parameters to pass to the server executable or Realtime script on launch. Length Constraints: Minimum length of 1. Maximum length of 1024. Pattern: [A-Za-z0-9_:.+/\\- =@{},?'[]"]+
|
|
2421
4075
|
|
|
@@ -2450,7 +4104,7 @@ class CfnFleet(
|
|
|
2450
4104
|
|
|
2451
4105
|
@builtins.property
|
|
2452
4106
|
def concurrent_executions(self) -> jsii.Number:
|
|
2453
|
-
'''The number of server processes using this configuration that run concurrently on each instance
|
|
4107
|
+
'''The number of server processes using this configuration that run concurrently on each instance or container..
|
|
2454
4108
|
|
|
2455
4109
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-concurrentexecutions
|
|
2456
4110
|
'''
|
|
@@ -2568,6 +4222,7 @@ class CfnFleet(
|
|
|
2568
4222
|
"build_id": "buildId",
|
|
2569
4223
|
"certificate_configuration": "certificateConfiguration",
|
|
2570
4224
|
"compute_type": "computeType",
|
|
4225
|
+
"container_groups_configuration": "containerGroupsConfiguration",
|
|
2571
4226
|
"description": "description",
|
|
2572
4227
|
"desired_ec2_instances": "desiredEc2Instances",
|
|
2573
4228
|
"ec2_inbound_permissions": "ec2InboundPermissions",
|
|
@@ -2601,6 +4256,7 @@ class CfnFleetProps:
|
|
|
2601
4256
|
build_id: typing.Optional[builtins.str] = None,
|
|
2602
4257
|
certificate_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.CertificateConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2603
4258
|
compute_type: typing.Optional[builtins.str] = None,
|
|
4259
|
+
container_groups_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ContainerGroupsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2604
4260
|
description: typing.Optional[builtins.str] = None,
|
|
2605
4261
|
desired_ec2_instances: typing.Optional[jsii.Number] = None,
|
|
2606
4262
|
ec2_inbound_permissions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.IpPermissionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
@@ -2627,18 +4283,19 @@ class CfnFleetProps:
|
|
|
2627
4283
|
|
|
2628
4284
|
:param name: A descriptive label that is associated with a fleet. Fleet names do not need to be unique.
|
|
2629
4285
|
:param anywhere_configuration: Amazon GameLift Anywhere configuration options.
|
|
2630
|
-
:param apply_capacity: Current resource capacity settings
|
|
4286
|
+
:param apply_capacity: Current resource capacity settings for managed EC2 fleets and container fleets. For multi-location fleets, location values might refer to a fleet's remote location or its home Region. *Returned by:* `DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ , `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ , `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
2631
4287
|
:param build_id: A unique identifier for a build to be deployed on the new fleet. If you are deploying the fleet with a custom game build, you must specify this property. The build must have been successfully uploaded to Amazon GameLift and be in a ``READY`` status. This fleet setting cannot be changed once the fleet is created.
|
|
2632
4288
|
:param certificate_configuration: Prompts Amazon GameLift to generate a TLS/SSL certificate for the fleet. Amazon GameLift uses the certificates to encrypt traffic between game clients and the game servers running on Amazon GameLift. By default, the ``CertificateConfiguration`` is ``DISABLED`` . You can't change this property after you create the fleet. AWS Certificate Manager (ACM) certificates expire after 13 months. Certificate expiration can cause fleets to fail, preventing players from connecting to instances in the fleet. We recommend you replace fleets before 13 months, consider using fleet aliases for a smooth transition. .. epigraph:: ACM isn't available in all AWS regions. A fleet creation request with certificate generation enabled in an unsupported Region, fails with a 4xx error. For more information about the supported Regions, see `Supported Regions <https://docs.aws.amazon.com/acm/latest/userguide/acm-regions.html>`_ in the *AWS Certificate Manager User Guide* .
|
|
2633
|
-
:param compute_type: The type of compute resource used to host your game servers.
|
|
4289
|
+
:param compute_type: The type of compute resource used to host your game servers. - ``EC2`` – The game server build is deployed to Amazon EC2 instances for cloud hosting. This is the default setting. - ``CONTAINER`` – Container images with your game server build and supporting software are deployed to Amazon EC2 instances for cloud hosting. With this compute type, you must specify the ``ContainerGroupsConfiguration`` parameter. - ``ANYWHERE`` – Game servers or container images with your game server and supporting software are deployed to compute resources that are provided and managed by you. With this compute type, you can also set the ``AnywhereConfiguration`` parameter.
|
|
4290
|
+
:param container_groups_configuration: *This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*. Configuration details for a set of container groups, for use when creating a fleet with compute type ``CONTAINER`` . *Used with:* ``CreateFleet``
|
|
2634
4291
|
:param description: A description for the fleet.
|
|
2635
4292
|
:param desired_ec2_instances: The number of EC2 instances that you want this fleet to host. When creating a new fleet, GameLift automatically sets this value to "1" and initiates a single instance. Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet.
|
|
2636
|
-
:param ec2_inbound_permissions: The
|
|
2637
|
-
:param ec2_instance_type: The Amazon GameLift-supported Amazon EC2 instance type to use
|
|
4293
|
+
:param ec2_inbound_permissions: The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet. Set this parameter for EC2 and container fleets. You can leave this parameter empty when creating the fleet, but you must call ``UpdateFleetPortSettings`` to set it before players can connect to game sessions. As a best practice, we recommend opening ports for remote access only when you need them and closing them when you're finished. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges. To manage inbound access for a container fleet, set this parameter to the same port numbers that you set for the fleet's connection port range. During the life of the fleet, update this parameter to control which connection ports are open to inbound traffic.
|
|
4294
|
+
:param ec2_instance_type: The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and container fleets. Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity. See `Amazon Elastic Compute Cloud Instance Types <https://docs.aws.amazon.com/ec2/instance-types/>`_ for detailed descriptions of Amazon EC2 instance types.
|
|
2638
4295
|
:param fleet_type: Indicates whether to use On-Demand or Spot instances for this fleet. By default, this property is set to ``ON_DEMAND`` . Learn more about when to use `On-Demand versus Spot Instances <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot>`_ . This fleet property can't be changed after the fleet is created.
|
|
2639
|
-
:param instance_role_arn: A unique identifier for an IAM role with access permissions to other AWS services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with AWS resources that you own or have access to. For more information about using the role with your game server builds, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ .
|
|
2640
|
-
:param instance_role_credentials_provider: Indicates that fleet instances maintain a shared credentials file for the IAM role defined in ``InstanceRoleArn`` . Shared credentials allow applications that are deployed with the game server executable to communicate with other AWS resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ .
|
|
2641
|
-
:param locations: A set of remote locations to deploy additional instances to and manage as part of the fleet. This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any Amazon GameLift-supported AWS Region as a remote location, in the form of an AWS Region code such as ``us-west-2`` . To create a fleet with instances in the home Region only, don't
|
|
4296
|
+
:param instance_role_arn: A unique identifier for an IAM role with access permissions to other AWS services. Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with AWS resources that you own or have access to. For more information about using the role with your game server builds, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ . This attribute is used with fleets where ``ComputeType`` is "EC2" or "Container".
|
|
4297
|
+
:param instance_role_credentials_provider: Indicates that fleet instances maintain a shared credentials file for the IAM role defined in ``InstanceRoleArn`` . Shared credentials allow applications that are deployed with the game server executable to communicate with other AWS resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ . This attribute is used with fleets where ``ComputeType`` is "EC2" or "Container".
|
|
4298
|
+
:param locations: A set of remote locations to deploy additional instances to and manage as part of the fleet. This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any Amazon GameLift-supported AWS Region as a remote location, in the form of an AWS Region code, such as ``us-west-2`` or Local Zone code. To create a fleet with instances in the home Region only, don't set this parameter. When using this parameter, Amazon GameLift requires you to include your home location in the request.
|
|
2642
4299
|
:param log_paths: (deprecated) This parameter is no longer used. When hosting a custom game build, specify where Amazon GameLift should store log files using the Amazon GameLift server API call ProcessReady()
|
|
2643
4300
|
:param max_size: The maximum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 1.
|
|
2644
4301
|
:param metric_groups: The name of an AWS CloudWatch metric group to add this fleet to. A metric group is used to aggregate the metrics for multiple fleets. You can specify an existing metric group name or set a new name to create a new metric group. A fleet can be included in only one metric group at a time.
|
|
@@ -2675,6 +4332,19 @@ class CfnFleetProps:
|
|
|
2675
4332
|
certificate_type="certificateType"
|
|
2676
4333
|
),
|
|
2677
4334
|
compute_type="computeType",
|
|
4335
|
+
container_groups_configuration=gamelift.CfnFleet.ContainerGroupsConfigurationProperty(
|
|
4336
|
+
connection_port_range=gamelift.CfnFleet.ConnectionPortRangeProperty(
|
|
4337
|
+
from_port=123,
|
|
4338
|
+
to_port=123
|
|
4339
|
+
),
|
|
4340
|
+
container_group_definition_names=["containerGroupDefinitionNames"],
|
|
4341
|
+
|
|
4342
|
+
# the properties below are optional
|
|
4343
|
+
container_groups_per_instance=gamelift.CfnFleet.ContainerGroupsPerInstanceProperty(
|
|
4344
|
+
desired_replica_container_groups_per_instance=123,
|
|
4345
|
+
max_replica_container_groups_per_instance=123
|
|
4346
|
+
)
|
|
4347
|
+
),
|
|
2678
4348
|
description="description",
|
|
2679
4349
|
desired_ec2_instances=123,
|
|
2680
4350
|
ec2_inbound_permissions=[gamelift.CfnFleet.IpPermissionProperty(
|
|
@@ -2750,6 +4420,7 @@ class CfnFleetProps:
|
|
|
2750
4420
|
check_type(argname="argument build_id", value=build_id, expected_type=type_hints["build_id"])
|
|
2751
4421
|
check_type(argname="argument certificate_configuration", value=certificate_configuration, expected_type=type_hints["certificate_configuration"])
|
|
2752
4422
|
check_type(argname="argument compute_type", value=compute_type, expected_type=type_hints["compute_type"])
|
|
4423
|
+
check_type(argname="argument container_groups_configuration", value=container_groups_configuration, expected_type=type_hints["container_groups_configuration"])
|
|
2753
4424
|
check_type(argname="argument description", value=description, expected_type=type_hints["description"])
|
|
2754
4425
|
check_type(argname="argument desired_ec2_instances", value=desired_ec2_instances, expected_type=type_hints["desired_ec2_instances"])
|
|
2755
4426
|
check_type(argname="argument ec2_inbound_permissions", value=ec2_inbound_permissions, expected_type=type_hints["ec2_inbound_permissions"])
|
|
@@ -2784,6 +4455,8 @@ class CfnFleetProps:
|
|
|
2784
4455
|
self._values["certificate_configuration"] = certificate_configuration
|
|
2785
4456
|
if compute_type is not None:
|
|
2786
4457
|
self._values["compute_type"] = compute_type
|
|
4458
|
+
if container_groups_configuration is not None:
|
|
4459
|
+
self._values["container_groups_configuration"] = container_groups_configuration
|
|
2787
4460
|
if description is not None:
|
|
2788
4461
|
self._values["description"] = description
|
|
2789
4462
|
if desired_ec2_instances is not None:
|
|
@@ -2852,13 +4525,11 @@ class CfnFleetProps:
|
|
|
2852
4525
|
|
|
2853
4526
|
@builtins.property
|
|
2854
4527
|
def apply_capacity(self) -> typing.Optional[builtins.str]:
|
|
2855
|
-
'''Current resource capacity settings
|
|
4528
|
+
'''Current resource capacity settings for managed EC2 fleets and container fleets.
|
|
2856
4529
|
|
|
2857
|
-
|
|
4530
|
+
For multi-location fleets, location values might refer to a fleet's remote location or its home Region.
|
|
2858
4531
|
|
|
2859
|
-
*
|
|
2860
|
-
|
|
2861
|
-
`DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ | `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ | `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
4532
|
+
*Returned by:* `DescribeFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html>`_ , `DescribeFleetLocationCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html>`_ , `UpdateFleetCapacity <https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html>`_
|
|
2862
4533
|
|
|
2863
4534
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-applycapacity
|
|
2864
4535
|
'''
|
|
@@ -2898,13 +4569,30 @@ class CfnFleetProps:
|
|
|
2898
4569
|
def compute_type(self) -> typing.Optional[builtins.str]:
|
|
2899
4570
|
'''The type of compute resource used to host your game servers.
|
|
2900
4571
|
|
|
2901
|
-
|
|
4572
|
+
- ``EC2`` – The game server build is deployed to Amazon EC2 instances for cloud hosting. This is the default setting.
|
|
4573
|
+
- ``CONTAINER`` – Container images with your game server build and supporting software are deployed to Amazon EC2 instances for cloud hosting. With this compute type, you must specify the ``ContainerGroupsConfiguration`` parameter.
|
|
4574
|
+
- ``ANYWHERE`` – Game servers or container images with your game server and supporting software are deployed to compute resources that are provided and managed by you. With this compute type, you can also set the ``AnywhereConfiguration`` parameter.
|
|
2902
4575
|
|
|
2903
4576
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-computetype
|
|
2904
4577
|
'''
|
|
2905
4578
|
result = self._values.get("compute_type")
|
|
2906
4579
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
2907
4580
|
|
|
4581
|
+
@builtins.property
|
|
4582
|
+
def container_groups_configuration(
|
|
4583
|
+
self,
|
|
4584
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.ContainerGroupsConfigurationProperty]]:
|
|
4585
|
+
'''*This data type is used with the Amazon GameLift containers feature, which is currently in public preview.*.
|
|
4586
|
+
|
|
4587
|
+
Configuration details for a set of container groups, for use when creating a fleet with compute type ``CONTAINER`` .
|
|
4588
|
+
|
|
4589
|
+
*Used with:* ``CreateFleet``
|
|
4590
|
+
|
|
4591
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-containergroupsconfiguration
|
|
4592
|
+
'''
|
|
4593
|
+
result = self._values.get("container_groups_configuration")
|
|
4594
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.ContainerGroupsConfigurationProperty]], result)
|
|
4595
|
+
|
|
2908
4596
|
@builtins.property
|
|
2909
4597
|
def description(self) -> typing.Optional[builtins.str]:
|
|
2910
4598
|
'''A description for the fleet.
|
|
@@ -2929,9 +4617,11 @@ class CfnFleetProps:
|
|
|
2929
4617
|
def ec2_inbound_permissions(
|
|
2930
4618
|
self,
|
|
2931
4619
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFleet.IpPermissionProperty]]]]:
|
|
2932
|
-
'''The
|
|
4620
|
+
'''The IP address ranges and port settings that allow inbound traffic to access game server processes and other processes on this fleet.
|
|
2933
4621
|
|
|
2934
|
-
|
|
4622
|
+
Set this parameter for EC2 and container fleets. You can leave this parameter empty when creating the fleet, but you must call ``UpdateFleetPortSettings`` to set it before players can connect to game sessions. As a best practice, we recommend opening ports for remote access only when you need them and closing them when you're finished. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges.
|
|
4623
|
+
|
|
4624
|
+
To manage inbound access for a container fleet, set this parameter to the same port numbers that you set for the fleet's connection port range. During the life of the fleet, update this parameter to control which connection ports are open to inbound traffic.
|
|
2935
4625
|
|
|
2936
4626
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2inboundpermissions
|
|
2937
4627
|
'''
|
|
@@ -2940,7 +4630,7 @@ class CfnFleetProps:
|
|
|
2940
4630
|
|
|
2941
4631
|
@builtins.property
|
|
2942
4632
|
def ec2_instance_type(self) -> typing.Optional[builtins.str]:
|
|
2943
|
-
'''The Amazon GameLift-supported Amazon EC2 instance type to use
|
|
4633
|
+
'''The Amazon GameLift-supported Amazon EC2 instance type to use with EC2 and container fleets.
|
|
2944
4634
|
|
|
2945
4635
|
Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity. See `Amazon Elastic Compute Cloud Instance Types <https://docs.aws.amazon.com/ec2/instance-types/>`_ for detailed descriptions of Amazon EC2 instance types.
|
|
2946
4636
|
|
|
@@ -2964,7 +4654,7 @@ class CfnFleetProps:
|
|
|
2964
4654
|
def instance_role_arn(self) -> typing.Optional[builtins.str]:
|
|
2965
4655
|
'''A unique identifier for an IAM role with access permissions to other AWS services.
|
|
2966
4656
|
|
|
2967
|
-
Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with AWS resources that you own or have access to. For more information about using the role with your game server builds, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ .
|
|
4657
|
+
Any application that runs on an instance in the fleet--including install scripts, server processes, and other processes--can use these permissions to interact with AWS resources that you own or have access to. For more information about using the role with your game server builds, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ . This attribute is used with fleets where ``ComputeType`` is "EC2" or "Container".
|
|
2968
4658
|
|
|
2969
4659
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-instancerolearn
|
|
2970
4660
|
'''
|
|
@@ -2975,7 +4665,7 @@ class CfnFleetProps:
|
|
|
2975
4665
|
def instance_role_credentials_provider(self) -> typing.Optional[builtins.str]:
|
|
2976
4666
|
'''Indicates that fleet instances maintain a shared credentials file for the IAM role defined in ``InstanceRoleArn`` .
|
|
2977
4667
|
|
|
2978
|
-
Shared credentials allow applications that are deployed with the game server executable to communicate with other AWS resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ .
|
|
4668
|
+
Shared credentials allow applications that are deployed with the game server executable to communicate with other AWS resources. This property is used only when the game server is integrated with the server SDK version 5.x. For more information about using shared credentials, see `Communicate with other AWS resources from your fleets <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html>`_ . This attribute is used with fleets where ``ComputeType`` is "EC2" or "Container".
|
|
2979
4669
|
|
|
2980
4670
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-instancerolecredentialsprovider
|
|
2981
4671
|
'''
|
|
@@ -2988,9 +4678,9 @@ class CfnFleetProps:
|
|
|
2988
4678
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnFleet.LocationConfigurationProperty]]]]:
|
|
2989
4679
|
'''A set of remote locations to deploy additional instances to and manage as part of the fleet.
|
|
2990
4680
|
|
|
2991
|
-
This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any Amazon GameLift-supported AWS Region as a remote location, in the form of an AWS Region code such as ``us-west-2`` . To create a fleet with instances in the home Region only, don't
|
|
4681
|
+
This parameter can only be used when creating fleets in AWS Regions that support multiple locations. You can add any Amazon GameLift-supported AWS Region as a remote location, in the form of an AWS Region code, such as ``us-west-2`` or Local Zone code. To create a fleet with instances in the home Region only, don't set this parameter.
|
|
2992
4682
|
|
|
2993
|
-
|
|
4683
|
+
When using this parameter, Amazon GameLift requires you to include your home location in the request.
|
|
2994
4684
|
|
|
2995
4685
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-locations
|
|
2996
4686
|
'''
|
|
@@ -6770,6 +8460,8 @@ __all__ = [
|
|
|
6770
8460
|
"CfnAliasProps",
|
|
6771
8461
|
"CfnBuild",
|
|
6772
8462
|
"CfnBuildProps",
|
|
8463
|
+
"CfnContainerGroupDefinition",
|
|
8464
|
+
"CfnContainerGroupDefinitionProps",
|
|
6773
8465
|
"CfnFleet",
|
|
6774
8466
|
"CfnFleetProps",
|
|
6775
8467
|
"CfnGameServerGroup",
|
|
@@ -6923,6 +8615,158 @@ def _typecheckingstub__4ea486b468f726c96f63f78347aac31445ce3b0bd1ea282f6fce30ca4
|
|
|
6923
8615
|
"""Type checking stubs"""
|
|
6924
8616
|
pass
|
|
6925
8617
|
|
|
8618
|
+
def _typecheckingstub__2d0ad3aeb1243549bc05c0346bb1e8303d21326ec9f1a17ec63327d7e3f29a1e(
|
|
8619
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
8620
|
+
id: builtins.str,
|
|
8621
|
+
*,
|
|
8622
|
+
container_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerDefinitionProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
8623
|
+
name: builtins.str,
|
|
8624
|
+
operating_system: builtins.str,
|
|
8625
|
+
total_cpu_limit: jsii.Number,
|
|
8626
|
+
total_memory_limit: jsii.Number,
|
|
8627
|
+
scheduling_strategy: typing.Optional[builtins.str] = None,
|
|
8628
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8629
|
+
) -> None:
|
|
8630
|
+
"""Type checking stubs"""
|
|
8631
|
+
pass
|
|
8632
|
+
|
|
8633
|
+
def _typecheckingstub__b07a706beb428681d6a41fe2a705cfe7e9f6f65c0df4708d633a856c73d6fa7b(
|
|
8634
|
+
inspector: _TreeInspector_488e0dd5,
|
|
8635
|
+
) -> None:
|
|
8636
|
+
"""Type checking stubs"""
|
|
8637
|
+
pass
|
|
8638
|
+
|
|
8639
|
+
def _typecheckingstub__abcc96ad0c8f9f987fd719eb37179f12dda8829dbbc0b9fb28188a52044ec711(
|
|
8640
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
8641
|
+
) -> None:
|
|
8642
|
+
"""Type checking stubs"""
|
|
8643
|
+
pass
|
|
8644
|
+
|
|
8645
|
+
def _typecheckingstub__1d575dc521c3da1f3682c88ce08e24b38977a41bef8807469e908a4fc94b8be0(
|
|
8646
|
+
value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnContainerGroupDefinition.ContainerDefinitionProperty]]],
|
|
8647
|
+
) -> None:
|
|
8648
|
+
"""Type checking stubs"""
|
|
8649
|
+
pass
|
|
8650
|
+
|
|
8651
|
+
def _typecheckingstub__90e8a024d1021ae9b57dadc57167a55f375efa5756fd3358541d1bbca8f16cf0(
|
|
8652
|
+
value: builtins.str,
|
|
8653
|
+
) -> None:
|
|
8654
|
+
"""Type checking stubs"""
|
|
8655
|
+
pass
|
|
8656
|
+
|
|
8657
|
+
def _typecheckingstub__8f85c42319aa42e6c796369d8760bfb73c97a6305632fa1b86497b93a214a2ec(
|
|
8658
|
+
value: builtins.str,
|
|
8659
|
+
) -> None:
|
|
8660
|
+
"""Type checking stubs"""
|
|
8661
|
+
pass
|
|
8662
|
+
|
|
8663
|
+
def _typecheckingstub__c70806f2091ef0e31ae18f95ca9388e13070bc234c9db0acb79308e3bb8064c8(
|
|
8664
|
+
value: jsii.Number,
|
|
8665
|
+
) -> None:
|
|
8666
|
+
"""Type checking stubs"""
|
|
8667
|
+
pass
|
|
8668
|
+
|
|
8669
|
+
def _typecheckingstub__b4cc7de67e0ef4b7a915c9522aa5d27817d4c88d3cc0d6cc3897ec44fe82624e(
|
|
8670
|
+
value: jsii.Number,
|
|
8671
|
+
) -> None:
|
|
8672
|
+
"""Type checking stubs"""
|
|
8673
|
+
pass
|
|
8674
|
+
|
|
8675
|
+
def _typecheckingstub__ee4192c1232484aa6cb4b7a0ff2133a07c228af7fc593005174668d67f88e787(
|
|
8676
|
+
value: typing.Optional[builtins.str],
|
|
8677
|
+
) -> None:
|
|
8678
|
+
"""Type checking stubs"""
|
|
8679
|
+
pass
|
|
8680
|
+
|
|
8681
|
+
def _typecheckingstub__39d9905e11429554186c96e0a5c07109b132519014161fc8e8d7aa9f4250218d(
|
|
8682
|
+
value: typing.Optional[typing.List[_CfnTag_f6864754]],
|
|
8683
|
+
) -> None:
|
|
8684
|
+
"""Type checking stubs"""
|
|
8685
|
+
pass
|
|
8686
|
+
|
|
8687
|
+
def _typecheckingstub__3d96474fb31ceec64a55f6a09274f19f2dde05387b5bdd5c76ce6f26d90d5eb7(
|
|
8688
|
+
*,
|
|
8689
|
+
container_name: builtins.str,
|
|
8690
|
+
image_uri: builtins.str,
|
|
8691
|
+
command: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8692
|
+
cpu: typing.Optional[jsii.Number] = None,
|
|
8693
|
+
depends_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerDependencyProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
8694
|
+
entry_point: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
8695
|
+
environment: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerEnvironmentProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
8696
|
+
essential: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
8697
|
+
health_check: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerHealthCheckProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8698
|
+
memory_limits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.MemoryLimitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8699
|
+
port_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.PortConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8700
|
+
resolved_image_digest: typing.Optional[builtins.str] = None,
|
|
8701
|
+
working_directory: typing.Optional[builtins.str] = None,
|
|
8702
|
+
) -> None:
|
|
8703
|
+
"""Type checking stubs"""
|
|
8704
|
+
pass
|
|
8705
|
+
|
|
8706
|
+
def _typecheckingstub__e8424bed9ce9567d13ec372652e5d607735583e13219bd42143f538aee3feb1f(
|
|
8707
|
+
*,
|
|
8708
|
+
condition: builtins.str,
|
|
8709
|
+
container_name: builtins.str,
|
|
8710
|
+
) -> None:
|
|
8711
|
+
"""Type checking stubs"""
|
|
8712
|
+
pass
|
|
8713
|
+
|
|
8714
|
+
def _typecheckingstub__c8a971f77ef4383909669846d3e4ee4a8463f7353ec0c1aa4da152ea7ec43bb9(
|
|
8715
|
+
*,
|
|
8716
|
+
name: builtins.str,
|
|
8717
|
+
value: builtins.str,
|
|
8718
|
+
) -> None:
|
|
8719
|
+
"""Type checking stubs"""
|
|
8720
|
+
pass
|
|
8721
|
+
|
|
8722
|
+
def _typecheckingstub__95b1e7083ac6b3d39e0bc5926b3c9ee368385be498c61499a81f860b155d0a1d(
|
|
8723
|
+
*,
|
|
8724
|
+
command: typing.Sequence[builtins.str],
|
|
8725
|
+
interval: typing.Optional[jsii.Number] = None,
|
|
8726
|
+
retries: typing.Optional[jsii.Number] = None,
|
|
8727
|
+
start_period: typing.Optional[jsii.Number] = None,
|
|
8728
|
+
timeout: typing.Optional[jsii.Number] = None,
|
|
8729
|
+
) -> None:
|
|
8730
|
+
"""Type checking stubs"""
|
|
8731
|
+
pass
|
|
8732
|
+
|
|
8733
|
+
def _typecheckingstub__2d3e35cf8a42e8cbcdf12218e64e5ac29c19f0813f144c8d75e97d3e3313d396(
|
|
8734
|
+
*,
|
|
8735
|
+
from_port: jsii.Number,
|
|
8736
|
+
protocol: builtins.str,
|
|
8737
|
+
to_port: jsii.Number,
|
|
8738
|
+
) -> None:
|
|
8739
|
+
"""Type checking stubs"""
|
|
8740
|
+
pass
|
|
8741
|
+
|
|
8742
|
+
def _typecheckingstub__9ac03f75ba7cf3ff7267cf9e9544e940c9974e78a4d364eed01d2ebb6bc2d3fa(
|
|
8743
|
+
*,
|
|
8744
|
+
hard_limit: typing.Optional[jsii.Number] = None,
|
|
8745
|
+
soft_limit: typing.Optional[jsii.Number] = None,
|
|
8746
|
+
) -> None:
|
|
8747
|
+
"""Type checking stubs"""
|
|
8748
|
+
pass
|
|
8749
|
+
|
|
8750
|
+
def _typecheckingstub__49796d7f2a6fb9a60e370fb5b8e88da33d84ca298d8833d8e64e3d80586cedf7(
|
|
8751
|
+
*,
|
|
8752
|
+
container_port_ranges: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerPortRangeProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
8753
|
+
) -> None:
|
|
8754
|
+
"""Type checking stubs"""
|
|
8755
|
+
pass
|
|
8756
|
+
|
|
8757
|
+
def _typecheckingstub__6b760a12182b9da0a53204aa5510dae28c2cda4c4fba1ef77f0245093da04ea4(
|
|
8758
|
+
*,
|
|
8759
|
+
container_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnContainerGroupDefinition.ContainerDefinitionProperty, typing.Dict[builtins.str, typing.Any]]]]],
|
|
8760
|
+
name: builtins.str,
|
|
8761
|
+
operating_system: builtins.str,
|
|
8762
|
+
total_cpu_limit: jsii.Number,
|
|
8763
|
+
total_memory_limit: jsii.Number,
|
|
8764
|
+
scheduling_strategy: typing.Optional[builtins.str] = None,
|
|
8765
|
+
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
8766
|
+
) -> None:
|
|
8767
|
+
"""Type checking stubs"""
|
|
8768
|
+
pass
|
|
8769
|
+
|
|
6926
8770
|
def _typecheckingstub__21fe09a90444788b3c862f454214d4e160757c9b02d0598d282f68b7f79d749f(
|
|
6927
8771
|
scope: _constructs_77d1e7e8.Construct,
|
|
6928
8772
|
id: builtins.str,
|
|
@@ -6933,6 +8777,7 @@ def _typecheckingstub__21fe09a90444788b3c862f454214d4e160757c9b02d0598d282f68b7f
|
|
|
6933
8777
|
build_id: typing.Optional[builtins.str] = None,
|
|
6934
8778
|
certificate_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.CertificateConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6935
8779
|
compute_type: typing.Optional[builtins.str] = None,
|
|
8780
|
+
container_groups_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ContainerGroupsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6936
8781
|
description: typing.Optional[builtins.str] = None,
|
|
6937
8782
|
desired_ec2_instances: typing.Optional[jsii.Number] = None,
|
|
6938
8783
|
ec2_inbound_permissions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.IpPermissionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
@@ -7006,6 +8851,12 @@ def _typecheckingstub__022e8bf70858e61cedf1ac2f0bbe1af01706924dda3af7f4e655e78c1
|
|
|
7006
8851
|
"""Type checking stubs"""
|
|
7007
8852
|
pass
|
|
7008
8853
|
|
|
8854
|
+
def _typecheckingstub__12ab5ebb46adc7fe2bb2e1911285f98090170c29093f6e28b584096baafa36aa(
|
|
8855
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFleet.ContainerGroupsConfigurationProperty]],
|
|
8856
|
+
) -> None:
|
|
8857
|
+
"""Type checking stubs"""
|
|
8858
|
+
pass
|
|
8859
|
+
|
|
7009
8860
|
def _typecheckingstub__eec78595476346beb2b42a6ac89d6890fb357c8bc49fbafff985bc1417bca206(
|
|
7010
8861
|
value: typing.Optional[builtins.str],
|
|
7011
8862
|
) -> None:
|
|
@@ -7146,6 +8997,31 @@ def _typecheckingstub__4c3cca5919f32f3e2cb6c385afda08bf3b194b8baf60b4d20e5f9f580
|
|
|
7146
8997
|
"""Type checking stubs"""
|
|
7147
8998
|
pass
|
|
7148
8999
|
|
|
9000
|
+
def _typecheckingstub__65c7b986d31ccdfa5d51331dd935bb4233bcf101bbfe90052f66eb229319a0a8(
|
|
9001
|
+
*,
|
|
9002
|
+
from_port: jsii.Number,
|
|
9003
|
+
to_port: jsii.Number,
|
|
9004
|
+
) -> None:
|
|
9005
|
+
"""Type checking stubs"""
|
|
9006
|
+
pass
|
|
9007
|
+
|
|
9008
|
+
def _typecheckingstub__af8dbebebd0e2db6dda0806b67c6edeb6e2460f1c55d333b8c83a5380be41afd(
|
|
9009
|
+
*,
|
|
9010
|
+
connection_port_range: typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ConnectionPortRangeProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
9011
|
+
container_group_definition_names: typing.Sequence[builtins.str],
|
|
9012
|
+
container_groups_per_instance: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ContainerGroupsPerInstanceProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
9013
|
+
) -> None:
|
|
9014
|
+
"""Type checking stubs"""
|
|
9015
|
+
pass
|
|
9016
|
+
|
|
9017
|
+
def _typecheckingstub__3473ac2106ce855ef7577b99df8d3e14e6085d02c7bf0c0fb919636a907449c1(
|
|
9018
|
+
*,
|
|
9019
|
+
desired_replica_container_groups_per_instance: typing.Optional[jsii.Number] = None,
|
|
9020
|
+
max_replica_container_groups_per_instance: typing.Optional[jsii.Number] = None,
|
|
9021
|
+
) -> None:
|
|
9022
|
+
"""Type checking stubs"""
|
|
9023
|
+
pass
|
|
9024
|
+
|
|
7149
9025
|
def _typecheckingstub__70f885be25c9084dbab3b02a36601be0e37c43ab741ea7dd646494423839333a(
|
|
7150
9026
|
*,
|
|
7151
9027
|
from_port: jsii.Number,
|
|
@@ -7232,6 +9108,7 @@ def _typecheckingstub__8a51a418ba5b606bdfc45dc50c3172e280a12e078a7392f3258d5d329
|
|
|
7232
9108
|
build_id: typing.Optional[builtins.str] = None,
|
|
7233
9109
|
certificate_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.CertificateConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7234
9110
|
compute_type: typing.Optional[builtins.str] = None,
|
|
9111
|
+
container_groups_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.ContainerGroupsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7235
9112
|
description: typing.Optional[builtins.str] = None,
|
|
7236
9113
|
desired_ec2_instances: typing.Optional[jsii.Number] = None,
|
|
7237
9114
|
ec2_inbound_permissions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnFleet.IpPermissionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|