pulumi-aws 7.11.1__py3-none-any.whl → 7.12.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.
Files changed (122) hide show
  1. pulumi_aws/__init__.py +57 -0
  2. pulumi_aws/acm/certificate.py +20 -20
  3. pulumi_aws/acmpca/certificate.py +8 -8
  4. pulumi_aws/apigateway/account.py +0 -4
  5. pulumi_aws/appflow/_inputs.py +33 -0
  6. pulumi_aws/appflow/outputs.py +22 -0
  7. pulumi_aws/appsync/graph_ql_api.py +84 -0
  8. pulumi_aws/bedrock/_inputs.py +97 -21
  9. pulumi_aws/bedrock/agent_agent_alias.py +94 -0
  10. pulumi_aws/bedrock/agentcore_agent_runtime.py +4 -4
  11. pulumi_aws/bedrock/agentcore_browser.py +42 -0
  12. pulumi_aws/bedrock/agentcore_gateway_target.py +217 -7
  13. pulumi_aws/bedrock/agentcore_memory.py +37 -9
  14. pulumi_aws/bedrock/agentcore_oauth2_credential_provider.py +38 -0
  15. pulumi_aws/bedrock/outputs.py +64 -17
  16. pulumi_aws/cloudfront/_inputs.py +15 -14
  17. pulumi_aws/cloudfront/distribution.py +28 -0
  18. pulumi_aws/cloudfront/outputs.py +10 -9
  19. pulumi_aws/cloudhsmv2/cluster.py +64 -0
  20. pulumi_aws/cloudwatch/_inputs.py +9 -8
  21. pulumi_aws/cloudwatch/contributor_managed_insight_rule.py +20 -0
  22. pulumi_aws/cloudwatch/log_delivery_destination.py +53 -12
  23. pulumi_aws/cloudwatch/outputs.py +6 -5
  24. pulumi_aws/codebuild/webhook.py +16 -16
  25. pulumi_aws/codepipeline/webhook.py +16 -16
  26. pulumi_aws/connect/_inputs.py +50 -4
  27. pulumi_aws/connect/outputs.py +95 -4
  28. pulumi_aws/connect/routing_profile.py +42 -18
  29. pulumi_aws/datasync/location_fsx_ontap_file_system.py +34 -0
  30. pulumi_aws/datazone/project.py +24 -0
  31. pulumi_aws/detective/organization_configuration.py +20 -0
  32. pulumi_aws/dms/_inputs.py +3 -3
  33. pulumi_aws/dms/outputs.py +2 -2
  34. pulumi_aws/ec2/__init__.py +1 -0
  35. pulumi_aws/ec2/_inputs.py +182 -0
  36. pulumi_aws/ec2/allowed_images_settings.py +338 -0
  37. pulumi_aws/ec2/get_coip_pools.py +24 -0
  38. pulumi_aws/ec2/image_block_public_access.py +48 -1
  39. pulumi_aws/ec2/outputs.py +167 -0
  40. pulumi_aws/ec2/security_group.py +6 -6
  41. pulumi_aws/ec2/serial_console_access.py +50 -3
  42. pulumi_aws/ec2/vpc_endpoint.py +92 -0
  43. pulumi_aws/ec2clientvpn/authorization_rule.py +7 -7
  44. pulumi_aws/ec2clientvpn/route.py +7 -7
  45. pulumi_aws/ec2transitgateway/instance_connect_endpoint.py +47 -0
  46. pulumi_aws/ecrpublic/get_images.py +24 -0
  47. pulumi_aws/ecs/_inputs.py +172 -33
  48. pulumi_aws/ecs/get_service.py +318 -7
  49. pulumi_aws/ecs/outputs.py +957 -86
  50. pulumi_aws/ecs/service.py +76 -0
  51. pulumi_aws/eks/_inputs.py +195 -5
  52. pulumi_aws/eks/outputs.py +164 -4
  53. pulumi_aws/elasticache/_inputs.py +154 -0
  54. pulumi_aws/elasticache/get_replication_group.py +23 -9
  55. pulumi_aws/elasticache/outputs.py +204 -0
  56. pulumi_aws/elasticache/replication_group.py +115 -0
  57. pulumi_aws/elasticache/reserved_cache_node.py +28 -0
  58. pulumi_aws/finspace/kx_cluster.py +76 -0
  59. pulumi_aws/fis/__init__.py +1 -0
  60. pulumi_aws/fis/target_account_configuration.py +401 -0
  61. pulumi_aws/glue/job.py +7 -7
  62. pulumi_aws/guardduty/malware_protection_plan.py +50 -0
  63. pulumi_aws/guardduty/member_detector_feature.py +42 -0
  64. pulumi_aws/invoicing/__init__.py +11 -0
  65. pulumi_aws/invoicing/_inputs.py +128 -0
  66. pulumi_aws/invoicing/invoice_unit.py +620 -0
  67. pulumi_aws/invoicing/outputs.py +99 -0
  68. pulumi_aws/iot/ca_certificate.py +32 -32
  69. pulumi_aws/iot/get_registration_code.py +8 -8
  70. pulumi_aws/ivschat/logging_configuration.py +28 -0
  71. pulumi_aws/kinesis/get_stream.py +15 -1
  72. pulumi_aws/kinesis/stream.py +47 -0
  73. pulumi_aws/kms/key.py +7 -7
  74. pulumi_aws/licensemanager/license_grant.py +36 -0
  75. pulumi_aws/m2/environment.py +150 -0
  76. pulumi_aws/networkfirewall/tls_inspection_configuration.py +84 -0
  77. pulumi_aws/networkflowmonitor/__init__.py +12 -0
  78. pulumi_aws/networkflowmonitor/_inputs.py +412 -0
  79. pulumi_aws/networkflowmonitor/monitor.py +568 -0
  80. pulumi_aws/networkflowmonitor/outputs.py +302 -0
  81. pulumi_aws/networkflowmonitor/scope.py +443 -0
  82. pulumi_aws/observabilityadmin/__init__.py +11 -0
  83. pulumi_aws/observabilityadmin/_inputs.py +506 -0
  84. pulumi_aws/observabilityadmin/centralization_rule_for_organization.py +637 -0
  85. pulumi_aws/observabilityadmin/outputs.py +415 -0
  86. pulumi_aws/opensearch/_inputs.py +92 -133
  87. pulumi_aws/opensearch/authorize_vpc_endpoint_access.py +4 -4
  88. pulumi_aws/opensearch/domain.py +60 -0
  89. pulumi_aws/opensearch/get_domain.py +16 -9
  90. pulumi_aws/opensearch/outputs.py +131 -2
  91. pulumi_aws/organizations/get_policies.py +2 -2
  92. pulumi_aws/organizations/get_policies_for_target.py +2 -2
  93. pulumi_aws/organizations/get_policy.py +1 -1
  94. pulumi_aws/organizations/organization.py +7 -7
  95. pulumi_aws/organizations/policy.py +35 -7
  96. pulumi_aws/pulumi-plugin.json +1 -1
  97. pulumi_aws/quicksight/analysis.py +108 -0
  98. pulumi_aws/quicksight/dashboard.py +110 -0
  99. pulumi_aws/quicksight/template.py +126 -0
  100. pulumi_aws/redshift/cluster_snapshot.py +28 -0
  101. pulumi_aws/redshift/get_cluster.py +52 -0
  102. pulumi_aws/redshift/snapshot_copy_grant.py +22 -0
  103. pulumi_aws/route53/profiles_association.py +30 -0
  104. pulumi_aws/route53/profiles_resource_association.py +34 -0
  105. pulumi_aws/s3control/multi_region_access_point_policy.py +76 -0
  106. pulumi_aws/s3tables/table.py +76 -1
  107. pulumi_aws/s3tables/table_bucket.py +78 -3
  108. pulumi_aws/sagemaker/_inputs.py +225 -232
  109. pulumi_aws/sagemaker/endpoint_configuration.py +111 -64
  110. pulumi_aws/sagemaker/outputs.py +154 -158
  111. pulumi_aws/ssmincidents/get_response_plan.py +14 -0
  112. pulumi_aws/ssoadmin/account_assignment.py +4 -4
  113. pulumi_aws/transfer/profile.py +20 -0
  114. pulumi_aws/transfer/server.py +7 -0
  115. pulumi_aws/transfer/ssh_key.py +6 -6
  116. pulumi_aws/wafv2/rule_group.py +440 -0
  117. pulumi_aws/workspacesweb/session_logger_association.py +80 -0
  118. pulumi_aws/workspacesweb/trust_store_association.py +24 -0
  119. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/METADATA +1 -1
  120. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/RECORD +122 -107
  121. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/WHEEL +0 -0
  122. {pulumi_aws-7.11.1.dist-info → pulumi_aws-7.12.0.dist-info}/top_level.txt +0 -0
pulumi_aws/ecs/outputs.py CHANGED
@@ -43,7 +43,9 @@ __all__ = [
43
43
  'ServiceCapacityProviderStrategy',
44
44
  'ServiceDeploymentCircuitBreaker',
45
45
  'ServiceDeploymentConfiguration',
46
+ 'ServiceDeploymentConfigurationCanaryConfiguration',
46
47
  'ServiceDeploymentConfigurationLifecycleHook',
48
+ 'ServiceDeploymentConfigurationLinearConfiguration',
47
49
  'ServiceDeploymentController',
48
50
  'ServiceLoadBalancer',
49
51
  'ServiceLoadBalancerAdvancedConfiguration',
@@ -83,8 +85,23 @@ __all__ = [
83
85
  'TaskSetServiceRegistries',
84
86
  'GetClusterServiceConnectDefaultResult',
85
87
  'GetClusterSettingResult',
88
+ 'GetServiceCapacityProviderStrategyResult',
89
+ 'GetServiceDeploymentResult',
90
+ 'GetServiceDeploymentConfigurationResult',
91
+ 'GetServiceDeploymentConfigurationAlarmResult',
92
+ 'GetServiceDeploymentConfigurationCanaryConfigurationResult',
93
+ 'GetServiceDeploymentConfigurationDeploymentCircuitBreakerResult',
94
+ 'GetServiceDeploymentConfigurationLifecycleHookResult',
95
+ 'GetServiceDeploymentConfigurationLinearConfigurationResult',
96
+ 'GetServiceDeploymentControllerResult',
97
+ 'GetServiceEventResult',
86
98
  'GetServiceLoadBalancerResult',
87
99
  'GetServiceLoadBalancerAdvancedConfigurationResult',
100
+ 'GetServiceNetworkConfigurationResult',
101
+ 'GetServiceOrderedPlacementStrategyResult',
102
+ 'GetServicePlacementConstraintResult',
103
+ 'GetServiceServiceRegistryResult',
104
+ 'GetServiceTaskSetResult',
88
105
  'GetTaskDefinitionEphemeralStorageResult',
89
106
  'GetTaskDefinitionPlacementConstraintResult',
90
107
  'GetTaskDefinitionProxyConfigurationResult',
@@ -1563,8 +1580,12 @@ class ServiceDeploymentConfiguration(dict):
1563
1580
  suggest = None
1564
1581
  if key == "bakeTimeInMinutes":
1565
1582
  suggest = "bake_time_in_minutes"
1583
+ elif key == "canaryConfiguration":
1584
+ suggest = "canary_configuration"
1566
1585
  elif key == "lifecycleHooks":
1567
1586
  suggest = "lifecycle_hooks"
1587
+ elif key == "linearConfiguration":
1588
+ suggest = "linear_configuration"
1568
1589
 
1569
1590
  if suggest:
1570
1591
  pulumi.log.warn(f"Key '{key}' not found in ServiceDeploymentConfiguration. Access the value via the '{suggest}' property getter instead.")
@@ -1579,17 +1600,25 @@ class ServiceDeploymentConfiguration(dict):
1579
1600
 
1580
1601
  def __init__(__self__, *,
1581
1602
  bake_time_in_minutes: Optional[_builtins.str] = None,
1603
+ canary_configuration: Optional['outputs.ServiceDeploymentConfigurationCanaryConfiguration'] = None,
1582
1604
  lifecycle_hooks: Optional[Sequence['outputs.ServiceDeploymentConfigurationLifecycleHook']] = None,
1605
+ linear_configuration: Optional['outputs.ServiceDeploymentConfigurationLinearConfiguration'] = None,
1583
1606
  strategy: Optional[_builtins.str] = None):
1584
1607
  """
1585
- :param _builtins.str bake_time_in_minutes: Number of minutes to wait after a new deployment is fully provisioned before terminating the old deployment. Only used when `strategy` is set to `BLUE_GREEN`.
1608
+ :param _builtins.str bake_time_in_minutes: Number of minutes to wait after a new deployment is fully provisioned before terminating the old deployment. Valid range: 0-1440 minutes. Used with `BLUE_GREEN`, `LINEAR`, and `CANARY` strategies.
1609
+ :param 'ServiceDeploymentConfigurationCanaryConfigurationArgs' canary_configuration: Configuration block for canary deployment strategy. Required when `strategy` is set to `CANARY`. See below.
1586
1610
  :param Sequence['ServiceDeploymentConfigurationLifecycleHookArgs'] lifecycle_hooks: Configuration block for lifecycle hooks that are invoked during deployments. See below.
1587
- :param _builtins.str strategy: Type of deployment strategy. Valid values: `ROLLING`, `BLUE_GREEN`. Default: `ROLLING`.
1611
+ :param 'ServiceDeploymentConfigurationLinearConfigurationArgs' linear_configuration: Configuration block for linear deployment strategy. Required when `strategy` is set to `LINEAR`. See below.
1612
+ :param _builtins.str strategy: Type of deployment strategy. Valid values: `ROLLING`, `BLUE_GREEN`, `LINEAR`, `CANARY`. Default: `ROLLING`.
1588
1613
  """
1589
1614
  if bake_time_in_minutes is not None:
1590
1615
  pulumi.set(__self__, "bake_time_in_minutes", bake_time_in_minutes)
1616
+ if canary_configuration is not None:
1617
+ pulumi.set(__self__, "canary_configuration", canary_configuration)
1591
1618
  if lifecycle_hooks is not None:
1592
1619
  pulumi.set(__self__, "lifecycle_hooks", lifecycle_hooks)
1620
+ if linear_configuration is not None:
1621
+ pulumi.set(__self__, "linear_configuration", linear_configuration)
1593
1622
  if strategy is not None:
1594
1623
  pulumi.set(__self__, "strategy", strategy)
1595
1624
 
@@ -1597,10 +1626,18 @@ class ServiceDeploymentConfiguration(dict):
1597
1626
  @pulumi.getter(name="bakeTimeInMinutes")
1598
1627
  def bake_time_in_minutes(self) -> Optional[_builtins.str]:
1599
1628
  """
1600
- Number of minutes to wait after a new deployment is fully provisioned before terminating the old deployment. Only used when `strategy` is set to `BLUE_GREEN`.
1629
+ Number of minutes to wait after a new deployment is fully provisioned before terminating the old deployment. Valid range: 0-1440 minutes. Used with `BLUE_GREEN`, `LINEAR`, and `CANARY` strategies.
1601
1630
  """
1602
1631
  return pulumi.get(self, "bake_time_in_minutes")
1603
1632
 
1633
+ @_builtins.property
1634
+ @pulumi.getter(name="canaryConfiguration")
1635
+ def canary_configuration(self) -> Optional['outputs.ServiceDeploymentConfigurationCanaryConfiguration']:
1636
+ """
1637
+ Configuration block for canary deployment strategy. Required when `strategy` is set to `CANARY`. See below.
1638
+ """
1639
+ return pulumi.get(self, "canary_configuration")
1640
+
1604
1641
  @_builtins.property
1605
1642
  @pulumi.getter(name="lifecycleHooks")
1606
1643
  def lifecycle_hooks(self) -> Optional[Sequence['outputs.ServiceDeploymentConfigurationLifecycleHook']]:
@@ -1609,15 +1646,73 @@ class ServiceDeploymentConfiguration(dict):
1609
1646
  """
1610
1647
  return pulumi.get(self, "lifecycle_hooks")
1611
1648
 
1649
+ @_builtins.property
1650
+ @pulumi.getter(name="linearConfiguration")
1651
+ def linear_configuration(self) -> Optional['outputs.ServiceDeploymentConfigurationLinearConfiguration']:
1652
+ """
1653
+ Configuration block for linear deployment strategy. Required when `strategy` is set to `LINEAR`. See below.
1654
+ """
1655
+ return pulumi.get(self, "linear_configuration")
1656
+
1612
1657
  @_builtins.property
1613
1658
  @pulumi.getter
1614
1659
  def strategy(self) -> Optional[_builtins.str]:
1615
1660
  """
1616
- Type of deployment strategy. Valid values: `ROLLING`, `BLUE_GREEN`. Default: `ROLLING`.
1661
+ Type of deployment strategy. Valid values: `ROLLING`, `BLUE_GREEN`, `LINEAR`, `CANARY`. Default: `ROLLING`.
1617
1662
  """
1618
1663
  return pulumi.get(self, "strategy")
1619
1664
 
1620
1665
 
1666
+ @pulumi.output_type
1667
+ class ServiceDeploymentConfigurationCanaryConfiguration(dict):
1668
+ @staticmethod
1669
+ def __key_warning(key: str):
1670
+ suggest = None
1671
+ if key == "canaryBakeTimeInMinutes":
1672
+ suggest = "canary_bake_time_in_minutes"
1673
+ elif key == "canaryPercent":
1674
+ suggest = "canary_percent"
1675
+
1676
+ if suggest:
1677
+ pulumi.log.warn(f"Key '{key}' not found in ServiceDeploymentConfigurationCanaryConfiguration. Access the value via the '{suggest}' property getter instead.")
1678
+
1679
+ def __getitem__(self, key: str) -> Any:
1680
+ ServiceDeploymentConfigurationCanaryConfiguration.__key_warning(key)
1681
+ return super().__getitem__(key)
1682
+
1683
+ def get(self, key: str, default = None) -> Any:
1684
+ ServiceDeploymentConfigurationCanaryConfiguration.__key_warning(key)
1685
+ return super().get(key, default)
1686
+
1687
+ def __init__(__self__, *,
1688
+ canary_bake_time_in_minutes: Optional[_builtins.str] = None,
1689
+ canary_percent: Optional[_builtins.float] = None):
1690
+ """
1691
+ :param _builtins.str canary_bake_time_in_minutes: Number of minutes to wait before shifting all traffic to the new deployment. Valid range: 0-1440 minutes.
1692
+ :param _builtins.float canary_percent: Percentage of traffic to route to the canary deployment. Valid range: 0.1-100.0.
1693
+ """
1694
+ if canary_bake_time_in_minutes is not None:
1695
+ pulumi.set(__self__, "canary_bake_time_in_minutes", canary_bake_time_in_minutes)
1696
+ if canary_percent is not None:
1697
+ pulumi.set(__self__, "canary_percent", canary_percent)
1698
+
1699
+ @_builtins.property
1700
+ @pulumi.getter(name="canaryBakeTimeInMinutes")
1701
+ def canary_bake_time_in_minutes(self) -> Optional[_builtins.str]:
1702
+ """
1703
+ Number of minutes to wait before shifting all traffic to the new deployment. Valid range: 0-1440 minutes.
1704
+ """
1705
+ return pulumi.get(self, "canary_bake_time_in_minutes")
1706
+
1707
+ @_builtins.property
1708
+ @pulumi.getter(name="canaryPercent")
1709
+ def canary_percent(self) -> Optional[_builtins.float]:
1710
+ """
1711
+ Percentage of traffic to route to the canary deployment. Valid range: 0.1-100.0.
1712
+ """
1713
+ return pulumi.get(self, "canary_percent")
1714
+
1715
+
1621
1716
  @pulumi.output_type
1622
1717
  class ServiceDeploymentConfigurationLifecycleHook(dict):
1623
1718
  @staticmethod
@@ -1693,6 +1788,56 @@ class ServiceDeploymentConfigurationLifecycleHook(dict):
1693
1788
  return pulumi.get(self, "hook_details")
1694
1789
 
1695
1790
 
1791
+ @pulumi.output_type
1792
+ class ServiceDeploymentConfigurationLinearConfiguration(dict):
1793
+ @staticmethod
1794
+ def __key_warning(key: str):
1795
+ suggest = None
1796
+ if key == "stepBakeTimeInMinutes":
1797
+ suggest = "step_bake_time_in_minutes"
1798
+ elif key == "stepPercent":
1799
+ suggest = "step_percent"
1800
+
1801
+ if suggest:
1802
+ pulumi.log.warn(f"Key '{key}' not found in ServiceDeploymentConfigurationLinearConfiguration. Access the value via the '{suggest}' property getter instead.")
1803
+
1804
+ def __getitem__(self, key: str) -> Any:
1805
+ ServiceDeploymentConfigurationLinearConfiguration.__key_warning(key)
1806
+ return super().__getitem__(key)
1807
+
1808
+ def get(self, key: str, default = None) -> Any:
1809
+ ServiceDeploymentConfigurationLinearConfiguration.__key_warning(key)
1810
+ return super().get(key, default)
1811
+
1812
+ def __init__(__self__, *,
1813
+ step_bake_time_in_minutes: Optional[_builtins.str] = None,
1814
+ step_percent: Optional[_builtins.float] = None):
1815
+ """
1816
+ :param _builtins.str step_bake_time_in_minutes: Number of minutes to wait between each step during a linear deployment. Valid range: 0-1440 minutes.
1817
+ :param _builtins.float step_percent: Percentage of traffic to shift in each step during a linear deployment. Valid range: 3.0-100.0.
1818
+ """
1819
+ if step_bake_time_in_minutes is not None:
1820
+ pulumi.set(__self__, "step_bake_time_in_minutes", step_bake_time_in_minutes)
1821
+ if step_percent is not None:
1822
+ pulumi.set(__self__, "step_percent", step_percent)
1823
+
1824
+ @_builtins.property
1825
+ @pulumi.getter(name="stepBakeTimeInMinutes")
1826
+ def step_bake_time_in_minutes(self) -> Optional[_builtins.str]:
1827
+ """
1828
+ Number of minutes to wait between each step during a linear deployment. Valid range: 0-1440 minutes.
1829
+ """
1830
+ return pulumi.get(self, "step_bake_time_in_minutes")
1831
+
1832
+ @_builtins.property
1833
+ @pulumi.getter(name="stepPercent")
1834
+ def step_percent(self) -> Optional[_builtins.float]:
1835
+ """
1836
+ Percentage of traffic to shift in each step during a linear deployment. Valid range: 3.0-100.0.
1837
+ """
1838
+ return pulumi.get(self, "step_percent")
1839
+
1840
+
1696
1841
  @pulumi.output_type
1697
1842
  class ServiceDeploymentController(dict):
1698
1843
  def __init__(__self__, *,
@@ -1749,10 +1894,10 @@ class ServiceLoadBalancer(dict):
1749
1894
  :param _builtins.str container_name: Name of the container to associate with the load balancer (as it appears in a container definition).
1750
1895
  :param _builtins.int container_port: Port on the container to associate with the load balancer.
1751
1896
  :param 'ServiceLoadBalancerAdvancedConfigurationArgs' advanced_configuration: Configuration block for Blue/Green deployment settings. Required when using `BLUE_GREEN` deployment strategy. See below.
1752
-
1753
- > **Version note:** Multiple `load_balancer` configuration block support was added in version 2.22.0 of the provider. This allows configuration of [ECS service support for multiple target groups](https://aws.amazon.com/about-aws/whats-new/2019/07/amazon-ecs-services-now-support-multiple-load-balancer-target-groups/).
1754
1897
  :param _builtins.str elb_name: Name of the ELB (Classic) to associate with the service.
1755
1898
  :param _builtins.str target_group_arn: ARN of the Load Balancer target group to associate with the service.
1899
+
1900
+ > **Version note:** Multiple `load_balancer` configuration block support was added in version 2.22.0 of the provider. This allows configuration of [ECS service support for multiple target groups](https://aws.amazon.com/about-aws/whats-new/2019/07/amazon-ecs-services-now-support-multiple-load-balancer-target-groups/).
1756
1901
  """
1757
1902
  pulumi.set(__self__, "container_name", container_name)
1758
1903
  pulumi.set(__self__, "container_port", container_port)
@@ -1784,8 +1929,6 @@ class ServiceLoadBalancer(dict):
1784
1929
  def advanced_configuration(self) -> Optional['outputs.ServiceLoadBalancerAdvancedConfiguration']:
1785
1930
  """
1786
1931
  Configuration block for Blue/Green deployment settings. Required when using `BLUE_GREEN` deployment strategy. See below.
1787
-
1788
- > **Version note:** Multiple `load_balancer` configuration block support was added in version 2.22.0 of the provider. This allows configuration of [ECS service support for multiple target groups](https://aws.amazon.com/about-aws/whats-new/2019/07/amazon-ecs-services-now-support-multiple-load-balancer-target-groups/).
1789
1932
  """
1790
1933
  return pulumi.get(self, "advanced_configuration")
1791
1934
 
@@ -1802,6 +1945,8 @@ class ServiceLoadBalancer(dict):
1802
1945
  def target_group_arn(self) -> Optional[_builtins.str]:
1803
1946
  """
1804
1947
  ARN of the Load Balancer target group to associate with the service.
1948
+
1949
+ > **Version note:** Multiple `load_balancer` configuration block support was added in version 2.22.0 of the provider. This allows configuration of [ECS service support for multiple target groups](https://aws.amazon.com/about-aws/whats-new/2019/07/amazon-ecs-services-now-support-multiple-load-balancer-target-groups/).
1805
1950
  """
1806
1951
  return pulumi.get(self, "target_group_arn")
1807
1952
 
@@ -1908,9 +2053,9 @@ class ServiceNetworkConfiguration(dict):
1908
2053
  security_groups: Optional[Sequence[_builtins.str]] = None):
1909
2054
  """
1910
2055
  :param Sequence[_builtins.str] subnets: Subnets associated with the task or service.
1911
- :param _builtins.bool assign_public_ip: Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.
1912
2056
 
1913
2057
  For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
2058
+ :param _builtins.bool assign_public_ip: Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.
1914
2059
  :param Sequence[_builtins.str] security_groups: Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
1915
2060
  """
1916
2061
  pulumi.set(__self__, "subnets", subnets)
@@ -1924,6 +2069,8 @@ class ServiceNetworkConfiguration(dict):
1924
2069
  def subnets(self) -> Sequence[_builtins.str]:
1925
2070
  """
1926
2071
  Subnets associated with the task or service.
2072
+
2073
+ For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
1927
2074
  """
1928
2075
  return pulumi.get(self, "subnets")
1929
2076
 
@@ -1932,8 +2079,6 @@ class ServiceNetworkConfiguration(dict):
1932
2079
  def assign_public_ip(self) -> Optional[_builtins.bool]:
1933
2080
  """
1934
2081
  Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.
1935
-
1936
- For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
1937
2082
  """
1938
2083
  return pulumi.get(self, "assign_public_ip")
1939
2084
 
@@ -1953,12 +2098,9 @@ class ServiceOrderedPlacementStrategy(dict):
1953
2098
  field: Optional[_builtins.str] = None):
1954
2099
  """
1955
2100
  :param _builtins.str type: Type of placement strategy. Must be one of: `binpack`, `random`, or `spread`
1956
- :param _builtins.str field: For the `spread` placement strategy, valid values are `instanceId` (or `host`,
1957
- which has the same effect), or any platform or custom attribute that is applied to a container instance.
1958
- For the `binpack` type, valid values are `memory` and `cpu`. For the `random` type, this attribute is not
1959
- needed. For more information, see [Placement Strategy](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementStrategy.html).
1960
2101
 
1961
2102
  > **Note:** for `spread`, `host` and `instanceId` will be normalized, by AWS, to be `instanceId`. This means the statefile will show `instanceId` but your config will differ if you use `host`.
2103
+ :param _builtins.str field: For the `spread` placement strategy, valid values are `instanceId` (or `host`, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the `binpack` type, valid values are `memory` and `cpu`. For the `random` type, this attribute is not needed. For more information, see [Placement Strategy](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementStrategy.html).
1962
2104
  """
1963
2105
  pulumi.set(__self__, "type", type)
1964
2106
  if field is not None:
@@ -1969,6 +2111,8 @@ class ServiceOrderedPlacementStrategy(dict):
1969
2111
  def type(self) -> _builtins.str:
1970
2112
  """
1971
2113
  Type of placement strategy. Must be one of: `binpack`, `random`, or `spread`
2114
+
2115
+ > **Note:** for `spread`, `host` and `instanceId` will be normalized, by AWS, to be `instanceId`. This means the statefile will show `instanceId` but your config will differ if you use `host`.
1972
2116
  """
1973
2117
  return pulumi.get(self, "type")
1974
2118
 
@@ -1976,12 +2120,7 @@ class ServiceOrderedPlacementStrategy(dict):
1976
2120
  @pulumi.getter
1977
2121
  def field(self) -> Optional[_builtins.str]:
1978
2122
  """
1979
- For the `spread` placement strategy, valid values are `instanceId` (or `host`,
1980
- which has the same effect), or any platform or custom attribute that is applied to a container instance.
1981
- For the `binpack` type, valid values are `memory` and `cpu`. For the `random` type, this attribute is not
1982
- needed. For more information, see [Placement Strategy](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementStrategy.html).
1983
-
1984
- > **Note:** for `spread`, `host` and `instanceId` will be normalized, by AWS, to be `instanceId`. This means the statefile will show `instanceId` but your config will differ if you use `host`.
2123
+ For the `spread` placement strategy, valid values are `instanceId` (or `host`, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the `binpack` type, valid values are `memory` and `cpu`. For the `random` type, this attribute is not needed. For more information, see [Placement Strategy](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementStrategy.html).
1985
2124
  """
1986
2125
  return pulumi.get(self, "field")
1987
2126
 
@@ -3933,116 +4072,848 @@ class GetClusterSettingResult(dict):
3933
4072
 
3934
4073
 
3935
4074
  @pulumi.output_type
3936
- class GetServiceLoadBalancerResult(dict):
4075
+ class GetServiceCapacityProviderStrategyResult(dict):
3937
4076
  def __init__(__self__, *,
3938
- advanced_configurations: Sequence['outputs.GetServiceLoadBalancerAdvancedConfigurationResult'],
3939
- container_name: _builtins.str,
3940
- container_port: _builtins.int,
3941
- elb_name: _builtins.str,
3942
- target_group_arn: _builtins.str):
4077
+ base: _builtins.int,
4078
+ capacity_provider: _builtins.str,
4079
+ weight: _builtins.int):
3943
4080
  """
3944
- :param Sequence['GetServiceLoadBalancerAdvancedConfigurationArgs'] advanced_configurations: Settings for Blue/Green deployment. See `advanced_configuration` Block for details.
3945
- :param _builtins.str container_name: Name of the container to associate with the load balancer.
3946
- :param _builtins.int container_port: Port on the container to associate with the load balancer.
3947
- :param _builtins.str elb_name: Name of the load balancer.
3948
- :param _builtins.str target_group_arn: ARN of the target group to associate with the load balancer.
4081
+ :param _builtins.int base: Number of tasks using the specified capacity provider
4082
+ :param _builtins.str capacity_provider: Name of the capacity provider
4083
+ :param _builtins.int weight: Relative percentage of total tasks to launch
3949
4084
  """
3950
- pulumi.set(__self__, "advanced_configurations", advanced_configurations)
3951
- pulumi.set(__self__, "container_name", container_name)
3952
- pulumi.set(__self__, "container_port", container_port)
3953
- pulumi.set(__self__, "elb_name", elb_name)
3954
- pulumi.set(__self__, "target_group_arn", target_group_arn)
4085
+ pulumi.set(__self__, "base", base)
4086
+ pulumi.set(__self__, "capacity_provider", capacity_provider)
4087
+ pulumi.set(__self__, "weight", weight)
3955
4088
 
3956
4089
  @_builtins.property
3957
- @pulumi.getter(name="advancedConfigurations")
3958
- def advanced_configurations(self) -> Sequence['outputs.GetServiceLoadBalancerAdvancedConfigurationResult']:
4090
+ @pulumi.getter
4091
+ def base(self) -> _builtins.int:
3959
4092
  """
3960
- Settings for Blue/Green deployment. See `advanced_configuration` Block for details.
4093
+ Number of tasks using the specified capacity provider
3961
4094
  """
3962
- return pulumi.get(self, "advanced_configurations")
4095
+ return pulumi.get(self, "base")
3963
4096
 
3964
4097
  @_builtins.property
3965
- @pulumi.getter(name="containerName")
3966
- def container_name(self) -> _builtins.str:
4098
+ @pulumi.getter(name="capacityProvider")
4099
+ def capacity_provider(self) -> _builtins.str:
3967
4100
  """
3968
- Name of the container to associate with the load balancer.
4101
+ Name of the capacity provider
3969
4102
  """
3970
- return pulumi.get(self, "container_name")
4103
+ return pulumi.get(self, "capacity_provider")
3971
4104
 
3972
4105
  @_builtins.property
3973
- @pulumi.getter(name="containerPort")
3974
- def container_port(self) -> _builtins.int:
4106
+ @pulumi.getter
4107
+ def weight(self) -> _builtins.int:
3975
4108
  """
3976
- Port on the container to associate with the load balancer.
4109
+ Relative percentage of total tasks to launch
3977
4110
  """
3978
- return pulumi.get(self, "container_port")
4111
+ return pulumi.get(self, "weight")
4112
+
4113
+
4114
+ @pulumi.output_type
4115
+ class GetServiceDeploymentResult(dict):
4116
+ def __init__(__self__, *,
4117
+ created_at: _builtins.str,
4118
+ desired_count: _builtins.int,
4119
+ id: _builtins.str,
4120
+ pending_count: _builtins.int,
4121
+ running_count: _builtins.int,
4122
+ status: _builtins.str,
4123
+ task_definition: _builtins.str,
4124
+ updated_at: _builtins.str):
4125
+ """
4126
+ :param _builtins.str created_at: Time when task set was created (RFC3339 format)
4127
+ :param _builtins.int desired_count: Desired number of tasks
4128
+ :param _builtins.str id: Task set ID
4129
+ :param _builtins.int pending_count: Number of pending tasks
4130
+ :param _builtins.int running_count: Number of running tasks
4131
+ :param _builtins.str status: Task set status
4132
+ :param _builtins.str task_definition: Task definition ARN
4133
+ :param _builtins.str updated_at: Time when task set was last updated (RFC3339 format)
4134
+ """
4135
+ pulumi.set(__self__, "created_at", created_at)
4136
+ pulumi.set(__self__, "desired_count", desired_count)
4137
+ pulumi.set(__self__, "id", id)
4138
+ pulumi.set(__self__, "pending_count", pending_count)
4139
+ pulumi.set(__self__, "running_count", running_count)
4140
+ pulumi.set(__self__, "status", status)
4141
+ pulumi.set(__self__, "task_definition", task_definition)
4142
+ pulumi.set(__self__, "updated_at", updated_at)
3979
4143
 
3980
4144
  @_builtins.property
3981
- @pulumi.getter(name="elbName")
3982
- def elb_name(self) -> _builtins.str:
4145
+ @pulumi.getter(name="createdAt")
4146
+ def created_at(self) -> _builtins.str:
3983
4147
  """
3984
- Name of the load balancer.
4148
+ Time when task set was created (RFC3339 format)
3985
4149
  """
3986
- return pulumi.get(self, "elb_name")
4150
+ return pulumi.get(self, "created_at")
3987
4151
 
3988
4152
  @_builtins.property
3989
- @pulumi.getter(name="targetGroupArn")
3990
- def target_group_arn(self) -> _builtins.str:
4153
+ @pulumi.getter(name="desiredCount")
4154
+ def desired_count(self) -> _builtins.int:
3991
4155
  """
3992
- ARN of the target group to associate with the load balancer.
4156
+ Desired number of tasks
3993
4157
  """
3994
- return pulumi.get(self, "target_group_arn")
4158
+ return pulumi.get(self, "desired_count")
4159
+
4160
+ @_builtins.property
4161
+ @pulumi.getter
4162
+ def id(self) -> _builtins.str:
4163
+ """
4164
+ Task set ID
4165
+ """
4166
+ return pulumi.get(self, "id")
4167
+
4168
+ @_builtins.property
4169
+ @pulumi.getter(name="pendingCount")
4170
+ def pending_count(self) -> _builtins.int:
4171
+ """
4172
+ Number of pending tasks
4173
+ """
4174
+ return pulumi.get(self, "pending_count")
4175
+
4176
+ @_builtins.property
4177
+ @pulumi.getter(name="runningCount")
4178
+ def running_count(self) -> _builtins.int:
4179
+ """
4180
+ Number of running tasks
4181
+ """
4182
+ return pulumi.get(self, "running_count")
4183
+
4184
+ @_builtins.property
4185
+ @pulumi.getter
4186
+ def status(self) -> _builtins.str:
4187
+ """
4188
+ Task set status
4189
+ """
4190
+ return pulumi.get(self, "status")
4191
+
4192
+ @_builtins.property
4193
+ @pulumi.getter(name="taskDefinition")
4194
+ def task_definition(self) -> _builtins.str:
4195
+ """
4196
+ Task definition ARN
4197
+ """
4198
+ return pulumi.get(self, "task_definition")
4199
+
4200
+ @_builtins.property
4201
+ @pulumi.getter(name="updatedAt")
4202
+ def updated_at(self) -> _builtins.str:
4203
+ """
4204
+ Time when task set was last updated (RFC3339 format)
4205
+ """
4206
+ return pulumi.get(self, "updated_at")
3995
4207
 
3996
4208
 
3997
4209
  @pulumi.output_type
3998
- class GetServiceLoadBalancerAdvancedConfigurationResult(dict):
4210
+ class GetServiceDeploymentConfigurationResult(dict):
3999
4211
  def __init__(__self__, *,
4000
- alternate_target_group_arn: _builtins.str,
4001
- production_listener_rule: _builtins.str,
4002
- role_arn: _builtins.str,
4003
- test_listener_rule: _builtins.str):
4212
+ alarms: Sequence['outputs.GetServiceDeploymentConfigurationAlarmResult'],
4213
+ bake_time_in_minutes: _builtins.str,
4214
+ canary_configurations: Sequence['outputs.GetServiceDeploymentConfigurationCanaryConfigurationResult'],
4215
+ deployment_circuit_breakers: Sequence['outputs.GetServiceDeploymentConfigurationDeploymentCircuitBreakerResult'],
4216
+ lifecycle_hooks: Sequence['outputs.GetServiceDeploymentConfigurationLifecycleHookResult'],
4217
+ linear_configurations: Sequence['outputs.GetServiceDeploymentConfigurationLinearConfigurationResult'],
4218
+ maximum_percent: _builtins.int,
4219
+ minimum_healthy_percent: _builtins.int,
4220
+ strategy: _builtins.str):
4221
+ """
4222
+ :param Sequence['GetServiceDeploymentConfigurationAlarmArgs'] alarms: CloudWatch alarms configuration. See `alarms` Block for details.
4223
+ :param _builtins.str bake_time_in_minutes: Time to wait after deployment before terminating old tasks
4224
+ :param Sequence['GetServiceDeploymentConfigurationCanaryConfigurationArgs'] canary_configurations: Canary deployment configuration. See `canary_configuration` Block for details.
4225
+ :param Sequence['GetServiceDeploymentConfigurationDeploymentCircuitBreakerArgs'] deployment_circuit_breakers: Circuit breaker configuration. See `deployment_circuit_breaker` Block for details.
4226
+ :param Sequence['GetServiceDeploymentConfigurationLifecycleHookArgs'] lifecycle_hooks: Lifecycle hooks for deployments. See `lifecycle_hook` Block for details.
4227
+ :param Sequence['GetServiceDeploymentConfigurationLinearConfigurationArgs'] linear_configurations: Linear deployment configuration. See `linear_configuration` Block for details.
4228
+ :param _builtins.int maximum_percent: Upper limit on tasks during deployment
4229
+ :param _builtins.int minimum_healthy_percent: Lower limit on healthy tasks during deployment
4230
+ :param _builtins.str strategy: Deployment strategy (ROLLING, BLUE_GREEN, LINEAR, or CANARY)
4231
+ """
4232
+ pulumi.set(__self__, "alarms", alarms)
4233
+ pulumi.set(__self__, "bake_time_in_minutes", bake_time_in_minutes)
4234
+ pulumi.set(__self__, "canary_configurations", canary_configurations)
4235
+ pulumi.set(__self__, "deployment_circuit_breakers", deployment_circuit_breakers)
4236
+ pulumi.set(__self__, "lifecycle_hooks", lifecycle_hooks)
4237
+ pulumi.set(__self__, "linear_configurations", linear_configurations)
4238
+ pulumi.set(__self__, "maximum_percent", maximum_percent)
4239
+ pulumi.set(__self__, "minimum_healthy_percent", minimum_healthy_percent)
4240
+ pulumi.set(__self__, "strategy", strategy)
4241
+
4242
+ @_builtins.property
4243
+ @pulumi.getter
4244
+ def alarms(self) -> Sequence['outputs.GetServiceDeploymentConfigurationAlarmResult']:
4004
4245
  """
4005
- :param _builtins.str alternate_target_group_arn: ARN of the alternate target group to use for Blue/Green deployments.
4006
- :param _builtins.str production_listener_rule: ARN of the listener rule that routes production traffic.
4007
- :param _builtins.str role_arn: ARN of the IAM role that allows ECS to manage the target groups.
4008
- :param _builtins.str test_listener_rule: ARN of the listener rule that routes test traffic.
4246
+ CloudWatch alarms configuration. See `alarms` Block for details.
4009
4247
  """
4010
- pulumi.set(__self__, "alternate_target_group_arn", alternate_target_group_arn)
4011
- pulumi.set(__self__, "production_listener_rule", production_listener_rule)
4012
- pulumi.set(__self__, "role_arn", role_arn)
4013
- pulumi.set(__self__, "test_listener_rule", test_listener_rule)
4248
+ return pulumi.get(self, "alarms")
4014
4249
 
4015
4250
  @_builtins.property
4016
- @pulumi.getter(name="alternateTargetGroupArn")
4017
- def alternate_target_group_arn(self) -> _builtins.str:
4251
+ @pulumi.getter(name="bakeTimeInMinutes")
4252
+ def bake_time_in_minutes(self) -> _builtins.str:
4018
4253
  """
4019
- ARN of the alternate target group to use for Blue/Green deployments.
4254
+ Time to wait after deployment before terminating old tasks
4020
4255
  """
4021
- return pulumi.get(self, "alternate_target_group_arn")
4256
+ return pulumi.get(self, "bake_time_in_minutes")
4022
4257
 
4023
4258
  @_builtins.property
4024
- @pulumi.getter(name="productionListenerRule")
4025
- def production_listener_rule(self) -> _builtins.str:
4259
+ @pulumi.getter(name="canaryConfigurations")
4260
+ def canary_configurations(self) -> Sequence['outputs.GetServiceDeploymentConfigurationCanaryConfigurationResult']:
4026
4261
  """
4027
- ARN of the listener rule that routes production traffic.
4262
+ Canary deployment configuration. See `canary_configuration` Block for details.
4028
4263
  """
4029
- return pulumi.get(self, "production_listener_rule")
4264
+ return pulumi.get(self, "canary_configurations")
4030
4265
 
4031
4266
  @_builtins.property
4032
- @pulumi.getter(name="roleArn")
4033
- def role_arn(self) -> _builtins.str:
4267
+ @pulumi.getter(name="deploymentCircuitBreakers")
4268
+ def deployment_circuit_breakers(self) -> Sequence['outputs.GetServiceDeploymentConfigurationDeploymentCircuitBreakerResult']:
4034
4269
  """
4035
- ARN of the IAM role that allows ECS to manage the target groups.
4270
+ Circuit breaker configuration. See `deployment_circuit_breaker` Block for details.
4036
4271
  """
4037
- return pulumi.get(self, "role_arn")
4272
+ return pulumi.get(self, "deployment_circuit_breakers")
4038
4273
 
4039
4274
  @_builtins.property
4040
- @pulumi.getter(name="testListenerRule")
4041
- def test_listener_rule(self) -> _builtins.str:
4275
+ @pulumi.getter(name="lifecycleHooks")
4276
+ def lifecycle_hooks(self) -> Sequence['outputs.GetServiceDeploymentConfigurationLifecycleHookResult']:
4042
4277
  """
4043
- ARN of the listener rule that routes test traffic.
4278
+ Lifecycle hooks for deployments. See `lifecycle_hook` Block for details.
4044
4279
  """
4045
- return pulumi.get(self, "test_listener_rule")
4280
+ return pulumi.get(self, "lifecycle_hooks")
4281
+
4282
+ @_builtins.property
4283
+ @pulumi.getter(name="linearConfigurations")
4284
+ def linear_configurations(self) -> Sequence['outputs.GetServiceDeploymentConfigurationLinearConfigurationResult']:
4285
+ """
4286
+ Linear deployment configuration. See `linear_configuration` Block for details.
4287
+ """
4288
+ return pulumi.get(self, "linear_configurations")
4289
+
4290
+ @_builtins.property
4291
+ @pulumi.getter(name="maximumPercent")
4292
+ def maximum_percent(self) -> _builtins.int:
4293
+ """
4294
+ Upper limit on tasks during deployment
4295
+ """
4296
+ return pulumi.get(self, "maximum_percent")
4297
+
4298
+ @_builtins.property
4299
+ @pulumi.getter(name="minimumHealthyPercent")
4300
+ def minimum_healthy_percent(self) -> _builtins.int:
4301
+ """
4302
+ Lower limit on healthy tasks during deployment
4303
+ """
4304
+ return pulumi.get(self, "minimum_healthy_percent")
4305
+
4306
+ @_builtins.property
4307
+ @pulumi.getter
4308
+ def strategy(self) -> _builtins.str:
4309
+ """
4310
+ Deployment strategy (ROLLING, BLUE_GREEN, LINEAR, or CANARY)
4311
+ """
4312
+ return pulumi.get(self, "strategy")
4313
+
4314
+
4315
+ @pulumi.output_type
4316
+ class GetServiceDeploymentConfigurationAlarmResult(dict):
4317
+ def __init__(__self__, *,
4318
+ alarm_names: Sequence[_builtins.str],
4319
+ enable: _builtins.bool,
4320
+ rollback: _builtins.bool):
4321
+ """
4322
+ :param Sequence[_builtins.str] alarm_names: List of CloudWatch alarm names
4323
+ :param _builtins.bool enable: Whether circuit breaker is enabled
4324
+ :param _builtins.bool rollback: Whether to rollback on failure
4325
+ """
4326
+ pulumi.set(__self__, "alarm_names", alarm_names)
4327
+ pulumi.set(__self__, "enable", enable)
4328
+ pulumi.set(__self__, "rollback", rollback)
4329
+
4330
+ @_builtins.property
4331
+ @pulumi.getter(name="alarmNames")
4332
+ def alarm_names(self) -> Sequence[_builtins.str]:
4333
+ """
4334
+ List of CloudWatch alarm names
4335
+ """
4336
+ return pulumi.get(self, "alarm_names")
4337
+
4338
+ @_builtins.property
4339
+ @pulumi.getter
4340
+ def enable(self) -> _builtins.bool:
4341
+ """
4342
+ Whether circuit breaker is enabled
4343
+ """
4344
+ return pulumi.get(self, "enable")
4345
+
4346
+ @_builtins.property
4347
+ @pulumi.getter
4348
+ def rollback(self) -> _builtins.bool:
4349
+ """
4350
+ Whether to rollback on failure
4351
+ """
4352
+ return pulumi.get(self, "rollback")
4353
+
4354
+
4355
+ @pulumi.output_type
4356
+ class GetServiceDeploymentConfigurationCanaryConfigurationResult(dict):
4357
+ def __init__(__self__, *,
4358
+ canary_bake_time_in_minutes: _builtins.str,
4359
+ canary_percent: _builtins.float):
4360
+ """
4361
+ :param _builtins.str canary_bake_time_in_minutes: Time to wait before shifting remaining traffic
4362
+ :param _builtins.float canary_percent: Percentage of traffic to route to canary deployment
4363
+ """
4364
+ pulumi.set(__self__, "canary_bake_time_in_minutes", canary_bake_time_in_minutes)
4365
+ pulumi.set(__self__, "canary_percent", canary_percent)
4366
+
4367
+ @_builtins.property
4368
+ @pulumi.getter(name="canaryBakeTimeInMinutes")
4369
+ def canary_bake_time_in_minutes(self) -> _builtins.str:
4370
+ """
4371
+ Time to wait before shifting remaining traffic
4372
+ """
4373
+ return pulumi.get(self, "canary_bake_time_in_minutes")
4374
+
4375
+ @_builtins.property
4376
+ @pulumi.getter(name="canaryPercent")
4377
+ def canary_percent(self) -> _builtins.float:
4378
+ """
4379
+ Percentage of traffic to route to canary deployment
4380
+ """
4381
+ return pulumi.get(self, "canary_percent")
4382
+
4383
+
4384
+ @pulumi.output_type
4385
+ class GetServiceDeploymentConfigurationDeploymentCircuitBreakerResult(dict):
4386
+ def __init__(__self__, *,
4387
+ enable: _builtins.bool,
4388
+ rollback: _builtins.bool):
4389
+ """
4390
+ :param _builtins.bool enable: Whether circuit breaker is enabled
4391
+ :param _builtins.bool rollback: Whether to rollback on failure
4392
+ """
4393
+ pulumi.set(__self__, "enable", enable)
4394
+ pulumi.set(__self__, "rollback", rollback)
4395
+
4396
+ @_builtins.property
4397
+ @pulumi.getter
4398
+ def enable(self) -> _builtins.bool:
4399
+ """
4400
+ Whether circuit breaker is enabled
4401
+ """
4402
+ return pulumi.get(self, "enable")
4403
+
4404
+ @_builtins.property
4405
+ @pulumi.getter
4406
+ def rollback(self) -> _builtins.bool:
4407
+ """
4408
+ Whether to rollback on failure
4409
+ """
4410
+ return pulumi.get(self, "rollback")
4411
+
4412
+
4413
+ @pulumi.output_type
4414
+ class GetServiceDeploymentConfigurationLifecycleHookResult(dict):
4415
+ def __init__(__self__, *,
4416
+ hook_details: _builtins.str,
4417
+ hook_target_arn: _builtins.str,
4418
+ lifecycle_stages: Sequence[_builtins.str],
4419
+ role_arn: _builtins.str):
4420
+ """
4421
+ :param _builtins.str hook_details: Additional details for the hook
4422
+ :param _builtins.str hook_target_arn: ARN of the Lambda function to invoke
4423
+ :param Sequence[_builtins.str] lifecycle_stages: Deployment stages when hook is invoked
4424
+ :param _builtins.str role_arn: ARN of the IAM role that allows ECS to manage the target groups.
4425
+ """
4426
+ pulumi.set(__self__, "hook_details", hook_details)
4427
+ pulumi.set(__self__, "hook_target_arn", hook_target_arn)
4428
+ pulumi.set(__self__, "lifecycle_stages", lifecycle_stages)
4429
+ pulumi.set(__self__, "role_arn", role_arn)
4430
+
4431
+ @_builtins.property
4432
+ @pulumi.getter(name="hookDetails")
4433
+ def hook_details(self) -> _builtins.str:
4434
+ """
4435
+ Additional details for the hook
4436
+ """
4437
+ return pulumi.get(self, "hook_details")
4438
+
4439
+ @_builtins.property
4440
+ @pulumi.getter(name="hookTargetArn")
4441
+ def hook_target_arn(self) -> _builtins.str:
4442
+ """
4443
+ ARN of the Lambda function to invoke
4444
+ """
4445
+ return pulumi.get(self, "hook_target_arn")
4446
+
4447
+ @_builtins.property
4448
+ @pulumi.getter(name="lifecycleStages")
4449
+ def lifecycle_stages(self) -> Sequence[_builtins.str]:
4450
+ """
4451
+ Deployment stages when hook is invoked
4452
+ """
4453
+ return pulumi.get(self, "lifecycle_stages")
4454
+
4455
+ @_builtins.property
4456
+ @pulumi.getter(name="roleArn")
4457
+ def role_arn(self) -> _builtins.str:
4458
+ """
4459
+ ARN of the IAM role that allows ECS to manage the target groups.
4460
+ """
4461
+ return pulumi.get(self, "role_arn")
4462
+
4463
+
4464
+ @pulumi.output_type
4465
+ class GetServiceDeploymentConfigurationLinearConfigurationResult(dict):
4466
+ def __init__(__self__, *,
4467
+ step_bake_time_in_minutes: _builtins.str,
4468
+ step_percent: _builtins.float):
4469
+ """
4470
+ :param _builtins.str step_bake_time_in_minutes: Time to wait between deployment steps
4471
+ :param _builtins.float step_percent: Percentage of traffic to shift in each step
4472
+ """
4473
+ pulumi.set(__self__, "step_bake_time_in_minutes", step_bake_time_in_minutes)
4474
+ pulumi.set(__self__, "step_percent", step_percent)
4475
+
4476
+ @_builtins.property
4477
+ @pulumi.getter(name="stepBakeTimeInMinutes")
4478
+ def step_bake_time_in_minutes(self) -> _builtins.str:
4479
+ """
4480
+ Time to wait between deployment steps
4481
+ """
4482
+ return pulumi.get(self, "step_bake_time_in_minutes")
4483
+
4484
+ @_builtins.property
4485
+ @pulumi.getter(name="stepPercent")
4486
+ def step_percent(self) -> _builtins.float:
4487
+ """
4488
+ Percentage of traffic to shift in each step
4489
+ """
4490
+ return pulumi.get(self, "step_percent")
4491
+
4492
+
4493
+ @pulumi.output_type
4494
+ class GetServiceDeploymentControllerResult(dict):
4495
+ def __init__(__self__, *,
4496
+ type: _builtins.str):
4497
+ """
4498
+ :param _builtins.str type: Constraint type
4499
+ """
4500
+ pulumi.set(__self__, "type", type)
4501
+
4502
+ @_builtins.property
4503
+ @pulumi.getter
4504
+ def type(self) -> _builtins.str:
4505
+ """
4506
+ Constraint type
4507
+ """
4508
+ return pulumi.get(self, "type")
4509
+
4510
+
4511
+ @pulumi.output_type
4512
+ class GetServiceEventResult(dict):
4513
+ def __init__(__self__, *,
4514
+ created_at: _builtins.str,
4515
+ id: _builtins.str,
4516
+ message: _builtins.str):
4517
+ """
4518
+ :param _builtins.str created_at: Time when task set was created (RFC3339 format)
4519
+ :param _builtins.str id: Task set ID
4520
+ :param _builtins.str message: Event message
4521
+ """
4522
+ pulumi.set(__self__, "created_at", created_at)
4523
+ pulumi.set(__self__, "id", id)
4524
+ pulumi.set(__self__, "message", message)
4525
+
4526
+ @_builtins.property
4527
+ @pulumi.getter(name="createdAt")
4528
+ def created_at(self) -> _builtins.str:
4529
+ """
4530
+ Time when task set was created (RFC3339 format)
4531
+ """
4532
+ return pulumi.get(self, "created_at")
4533
+
4534
+ @_builtins.property
4535
+ @pulumi.getter
4536
+ def id(self) -> _builtins.str:
4537
+ """
4538
+ Task set ID
4539
+ """
4540
+ return pulumi.get(self, "id")
4541
+
4542
+ @_builtins.property
4543
+ @pulumi.getter
4544
+ def message(self) -> _builtins.str:
4545
+ """
4546
+ Event message
4547
+ """
4548
+ return pulumi.get(self, "message")
4549
+
4550
+
4551
+ @pulumi.output_type
4552
+ class GetServiceLoadBalancerResult(dict):
4553
+ def __init__(__self__, *,
4554
+ advanced_configurations: Sequence['outputs.GetServiceLoadBalancerAdvancedConfigurationResult'],
4555
+ container_name: _builtins.str,
4556
+ container_port: _builtins.int,
4557
+ elb_name: _builtins.str,
4558
+ target_group_arn: _builtins.str):
4559
+ """
4560
+ :param Sequence['GetServiceLoadBalancerAdvancedConfigurationArgs'] advanced_configurations: Settings for Blue/Green deployment. See `advanced_configuration` Block for details.
4561
+ :param _builtins.str container_name: Name of the container to associate with the load balancer.
4562
+ :param _builtins.int container_port: Port on the container to associate with the load balancer.
4563
+ :param _builtins.str elb_name: Name of the load balancer.
4564
+ :param _builtins.str target_group_arn: ARN of the target group to associate with the load balancer.
4565
+ """
4566
+ pulumi.set(__self__, "advanced_configurations", advanced_configurations)
4567
+ pulumi.set(__self__, "container_name", container_name)
4568
+ pulumi.set(__self__, "container_port", container_port)
4569
+ pulumi.set(__self__, "elb_name", elb_name)
4570
+ pulumi.set(__self__, "target_group_arn", target_group_arn)
4571
+
4572
+ @_builtins.property
4573
+ @pulumi.getter(name="advancedConfigurations")
4574
+ def advanced_configurations(self) -> Sequence['outputs.GetServiceLoadBalancerAdvancedConfigurationResult']:
4575
+ """
4576
+ Settings for Blue/Green deployment. See `advanced_configuration` Block for details.
4577
+ """
4578
+ return pulumi.get(self, "advanced_configurations")
4579
+
4580
+ @_builtins.property
4581
+ @pulumi.getter(name="containerName")
4582
+ def container_name(self) -> _builtins.str:
4583
+ """
4584
+ Name of the container to associate with the load balancer.
4585
+ """
4586
+ return pulumi.get(self, "container_name")
4587
+
4588
+ @_builtins.property
4589
+ @pulumi.getter(name="containerPort")
4590
+ def container_port(self) -> _builtins.int:
4591
+ """
4592
+ Port on the container to associate with the load balancer.
4593
+ """
4594
+ return pulumi.get(self, "container_port")
4595
+
4596
+ @_builtins.property
4597
+ @pulumi.getter(name="elbName")
4598
+ def elb_name(self) -> _builtins.str:
4599
+ """
4600
+ Name of the load balancer.
4601
+ """
4602
+ return pulumi.get(self, "elb_name")
4603
+
4604
+ @_builtins.property
4605
+ @pulumi.getter(name="targetGroupArn")
4606
+ def target_group_arn(self) -> _builtins.str:
4607
+ """
4608
+ ARN of the target group to associate with the load balancer.
4609
+ """
4610
+ return pulumi.get(self, "target_group_arn")
4611
+
4612
+
4613
+ @pulumi.output_type
4614
+ class GetServiceLoadBalancerAdvancedConfigurationResult(dict):
4615
+ def __init__(__self__, *,
4616
+ alternate_target_group_arn: _builtins.str,
4617
+ production_listener_rule: _builtins.str,
4618
+ role_arn: _builtins.str,
4619
+ test_listener_rule: _builtins.str):
4620
+ """
4621
+ :param _builtins.str alternate_target_group_arn: ARN of the alternate target group to use for Blue/Green deployments.
4622
+ :param _builtins.str production_listener_rule: ARN of the listener rule that routes production traffic.
4623
+ :param _builtins.str role_arn: ARN of the IAM role that allows ECS to manage the target groups.
4624
+ :param _builtins.str test_listener_rule: ARN of the listener rule that routes test traffic.
4625
+ """
4626
+ pulumi.set(__self__, "alternate_target_group_arn", alternate_target_group_arn)
4627
+ pulumi.set(__self__, "production_listener_rule", production_listener_rule)
4628
+ pulumi.set(__self__, "role_arn", role_arn)
4629
+ pulumi.set(__self__, "test_listener_rule", test_listener_rule)
4630
+
4631
+ @_builtins.property
4632
+ @pulumi.getter(name="alternateTargetGroupArn")
4633
+ def alternate_target_group_arn(self) -> _builtins.str:
4634
+ """
4635
+ ARN of the alternate target group to use for Blue/Green deployments.
4636
+ """
4637
+ return pulumi.get(self, "alternate_target_group_arn")
4638
+
4639
+ @_builtins.property
4640
+ @pulumi.getter(name="productionListenerRule")
4641
+ def production_listener_rule(self) -> _builtins.str:
4642
+ """
4643
+ ARN of the listener rule that routes production traffic.
4644
+ """
4645
+ return pulumi.get(self, "production_listener_rule")
4646
+
4647
+ @_builtins.property
4648
+ @pulumi.getter(name="roleArn")
4649
+ def role_arn(self) -> _builtins.str:
4650
+ """
4651
+ ARN of the IAM role that allows ECS to manage the target groups.
4652
+ """
4653
+ return pulumi.get(self, "role_arn")
4654
+
4655
+ @_builtins.property
4656
+ @pulumi.getter(name="testListenerRule")
4657
+ def test_listener_rule(self) -> _builtins.str:
4658
+ """
4659
+ ARN of the listener rule that routes test traffic.
4660
+ """
4661
+ return pulumi.get(self, "test_listener_rule")
4662
+
4663
+
4664
+ @pulumi.output_type
4665
+ class GetServiceNetworkConfigurationResult(dict):
4666
+ def __init__(__self__, *,
4667
+ assign_public_ip: _builtins.bool,
4668
+ security_groups: Sequence[_builtins.str],
4669
+ subnets: Sequence[_builtins.str]):
4670
+ """
4671
+ :param _builtins.bool assign_public_ip: Whether tasks receive public IP addresses
4672
+ :param Sequence[_builtins.str] security_groups: Security groups associated with tasks
4673
+ :param Sequence[_builtins.str] subnets: Subnets associated with tasks
4674
+ """
4675
+ pulumi.set(__self__, "assign_public_ip", assign_public_ip)
4676
+ pulumi.set(__self__, "security_groups", security_groups)
4677
+ pulumi.set(__self__, "subnets", subnets)
4678
+
4679
+ @_builtins.property
4680
+ @pulumi.getter(name="assignPublicIp")
4681
+ def assign_public_ip(self) -> _builtins.bool:
4682
+ """
4683
+ Whether tasks receive public IP addresses
4684
+ """
4685
+ return pulumi.get(self, "assign_public_ip")
4686
+
4687
+ @_builtins.property
4688
+ @pulumi.getter(name="securityGroups")
4689
+ def security_groups(self) -> Sequence[_builtins.str]:
4690
+ """
4691
+ Security groups associated with tasks
4692
+ """
4693
+ return pulumi.get(self, "security_groups")
4694
+
4695
+ @_builtins.property
4696
+ @pulumi.getter
4697
+ def subnets(self) -> Sequence[_builtins.str]:
4698
+ """
4699
+ Subnets associated with tasks
4700
+ """
4701
+ return pulumi.get(self, "subnets")
4702
+
4703
+
4704
+ @pulumi.output_type
4705
+ class GetServiceOrderedPlacementStrategyResult(dict):
4706
+ def __init__(__self__, *,
4707
+ field: _builtins.str,
4708
+ type: _builtins.str):
4709
+ """
4710
+ :param _builtins.str field: Field to apply placement strategy against
4711
+ :param _builtins.str type: Constraint type
4712
+ """
4713
+ pulumi.set(__self__, "field", field)
4714
+ pulumi.set(__self__, "type", type)
4715
+
4716
+ @_builtins.property
4717
+ @pulumi.getter
4718
+ def field(self) -> _builtins.str:
4719
+ """
4720
+ Field to apply placement strategy against
4721
+ """
4722
+ return pulumi.get(self, "field")
4723
+
4724
+ @_builtins.property
4725
+ @pulumi.getter
4726
+ def type(self) -> _builtins.str:
4727
+ """
4728
+ Constraint type
4729
+ """
4730
+ return pulumi.get(self, "type")
4731
+
4732
+
4733
+ @pulumi.output_type
4734
+ class GetServicePlacementConstraintResult(dict):
4735
+ def __init__(__self__, *,
4736
+ expression: _builtins.str,
4737
+ type: _builtins.str):
4738
+ """
4739
+ :param _builtins.str expression: Cluster query language expression
4740
+ :param _builtins.str type: Constraint type
4741
+ """
4742
+ pulumi.set(__self__, "expression", expression)
4743
+ pulumi.set(__self__, "type", type)
4744
+
4745
+ @_builtins.property
4746
+ @pulumi.getter
4747
+ def expression(self) -> _builtins.str:
4748
+ """
4749
+ Cluster query language expression
4750
+ """
4751
+ return pulumi.get(self, "expression")
4752
+
4753
+ @_builtins.property
4754
+ @pulumi.getter
4755
+ def type(self) -> _builtins.str:
4756
+ """
4757
+ Constraint type
4758
+ """
4759
+ return pulumi.get(self, "type")
4760
+
4761
+
4762
+ @pulumi.output_type
4763
+ class GetServiceServiceRegistryResult(dict):
4764
+ def __init__(__self__, *,
4765
+ container_name: _builtins.str,
4766
+ container_port: _builtins.int,
4767
+ port: _builtins.int,
4768
+ registry_arn: _builtins.str):
4769
+ """
4770
+ :param _builtins.str container_name: Name of the container to associate with the load balancer.
4771
+ :param _builtins.int container_port: Port on the container to associate with the load balancer.
4772
+ :param _builtins.int port: Port value for service discovery
4773
+ :param _builtins.str registry_arn: ARN of the service registry
4774
+ """
4775
+ pulumi.set(__self__, "container_name", container_name)
4776
+ pulumi.set(__self__, "container_port", container_port)
4777
+ pulumi.set(__self__, "port", port)
4778
+ pulumi.set(__self__, "registry_arn", registry_arn)
4779
+
4780
+ @_builtins.property
4781
+ @pulumi.getter(name="containerName")
4782
+ def container_name(self) -> _builtins.str:
4783
+ """
4784
+ Name of the container to associate with the load balancer.
4785
+ """
4786
+ return pulumi.get(self, "container_name")
4787
+
4788
+ @_builtins.property
4789
+ @pulumi.getter(name="containerPort")
4790
+ def container_port(self) -> _builtins.int:
4791
+ """
4792
+ Port on the container to associate with the load balancer.
4793
+ """
4794
+ return pulumi.get(self, "container_port")
4795
+
4796
+ @_builtins.property
4797
+ @pulumi.getter
4798
+ def port(self) -> _builtins.int:
4799
+ """
4800
+ Port value for service discovery
4801
+ """
4802
+ return pulumi.get(self, "port")
4803
+
4804
+ @_builtins.property
4805
+ @pulumi.getter(name="registryArn")
4806
+ def registry_arn(self) -> _builtins.str:
4807
+ """
4808
+ ARN of the service registry
4809
+ """
4810
+ return pulumi.get(self, "registry_arn")
4811
+
4812
+
4813
+ @pulumi.output_type
4814
+ class GetServiceTaskSetResult(dict):
4815
+ def __init__(__self__, *,
4816
+ arn: _builtins.str,
4817
+ created_at: _builtins.str,
4818
+ id: _builtins.str,
4819
+ pending_count: _builtins.int,
4820
+ running_count: _builtins.int,
4821
+ stability_status: _builtins.str,
4822
+ status: _builtins.str,
4823
+ task_definition: _builtins.str,
4824
+ updated_at: _builtins.str):
4825
+ """
4826
+ :param _builtins.str arn: ARN of the task set
4827
+ :param _builtins.str created_at: Time when task set was created (RFC3339 format)
4828
+ :param _builtins.str id: Task set ID
4829
+ :param _builtins.int pending_count: Number of pending tasks
4830
+ :param _builtins.int running_count: Number of running tasks
4831
+ :param _builtins.str stability_status: Stability status of the task set
4832
+ :param _builtins.str status: Task set status
4833
+ :param _builtins.str task_definition: Task definition ARN
4834
+ :param _builtins.str updated_at: Time when task set was last updated (RFC3339 format)
4835
+ """
4836
+ pulumi.set(__self__, "arn", arn)
4837
+ pulumi.set(__self__, "created_at", created_at)
4838
+ pulumi.set(__self__, "id", id)
4839
+ pulumi.set(__self__, "pending_count", pending_count)
4840
+ pulumi.set(__self__, "running_count", running_count)
4841
+ pulumi.set(__self__, "stability_status", stability_status)
4842
+ pulumi.set(__self__, "status", status)
4843
+ pulumi.set(__self__, "task_definition", task_definition)
4844
+ pulumi.set(__self__, "updated_at", updated_at)
4845
+
4846
+ @_builtins.property
4847
+ @pulumi.getter
4848
+ def arn(self) -> _builtins.str:
4849
+ """
4850
+ ARN of the task set
4851
+ """
4852
+ return pulumi.get(self, "arn")
4853
+
4854
+ @_builtins.property
4855
+ @pulumi.getter(name="createdAt")
4856
+ def created_at(self) -> _builtins.str:
4857
+ """
4858
+ Time when task set was created (RFC3339 format)
4859
+ """
4860
+ return pulumi.get(self, "created_at")
4861
+
4862
+ @_builtins.property
4863
+ @pulumi.getter
4864
+ def id(self) -> _builtins.str:
4865
+ """
4866
+ Task set ID
4867
+ """
4868
+ return pulumi.get(self, "id")
4869
+
4870
+ @_builtins.property
4871
+ @pulumi.getter(name="pendingCount")
4872
+ def pending_count(self) -> _builtins.int:
4873
+ """
4874
+ Number of pending tasks
4875
+ """
4876
+ return pulumi.get(self, "pending_count")
4877
+
4878
+ @_builtins.property
4879
+ @pulumi.getter(name="runningCount")
4880
+ def running_count(self) -> _builtins.int:
4881
+ """
4882
+ Number of running tasks
4883
+ """
4884
+ return pulumi.get(self, "running_count")
4885
+
4886
+ @_builtins.property
4887
+ @pulumi.getter(name="stabilityStatus")
4888
+ def stability_status(self) -> _builtins.str:
4889
+ """
4890
+ Stability status of the task set
4891
+ """
4892
+ return pulumi.get(self, "stability_status")
4893
+
4894
+ @_builtins.property
4895
+ @pulumi.getter
4896
+ def status(self) -> _builtins.str:
4897
+ """
4898
+ Task set status
4899
+ """
4900
+ return pulumi.get(self, "status")
4901
+
4902
+ @_builtins.property
4903
+ @pulumi.getter(name="taskDefinition")
4904
+ def task_definition(self) -> _builtins.str:
4905
+ """
4906
+ Task definition ARN
4907
+ """
4908
+ return pulumi.get(self, "task_definition")
4909
+
4910
+ @_builtins.property
4911
+ @pulumi.getter(name="updatedAt")
4912
+ def updated_at(self) -> _builtins.str:
4913
+ """
4914
+ Time when task set was last updated (RFC3339 format)
4915
+ """
4916
+ return pulumi.get(self, "updated_at")
4046
4917
 
4047
4918
 
4048
4919
  @pulumi.output_type