pulumi-aws 7.15.0__py3-none-any.whl → 7.16.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 (105) hide show
  1. pulumi_aws/__init__.py +80 -0
  2. pulumi_aws/alb/listener.py +7 -7
  3. pulumi_aws/alb/target_group.py +7 -7
  4. pulumi_aws/alb/target_group_attachment.py +83 -0
  5. pulumi_aws/apigateway/domain_name.py +86 -7
  6. pulumi_aws/apigateway/get_domain_name.py +15 -1
  7. pulumi_aws/apigateway/integration.py +48 -8
  8. pulumi_aws/athena/_inputs.py +412 -5
  9. pulumi_aws/athena/outputs.py +342 -2
  10. pulumi_aws/backup/global_settings.py +15 -7
  11. pulumi_aws/bedrock/agentcore_memory_strategy.py +8 -0
  12. pulumi_aws/cleanrooms/collaboration.py +26 -6
  13. pulumi_aws/cloudfront/__init__.py +6 -0
  14. pulumi_aws/cloudfront/_inputs.py +3601 -478
  15. pulumi_aws/cloudfront/connection_function.py +658 -0
  16. pulumi_aws/cloudfront/connection_group.py +649 -0
  17. pulumi_aws/cloudfront/distribution.py +142 -0
  18. pulumi_aws/cloudfront/distribution_tenant.py +857 -0
  19. pulumi_aws/cloudfront/get_connection_group.py +249 -0
  20. pulumi_aws/cloudfront/get_distribution_tenant.py +279 -0
  21. pulumi_aws/cloudfront/multitenant_distribution.py +1181 -0
  22. pulumi_aws/cloudfront/outputs.py +3034 -376
  23. pulumi_aws/cloudwatch/log_subscription_filter.py +136 -42
  24. pulumi_aws/directconnect/gateway.py +78 -3
  25. pulumi_aws/directconnect/get_gateway.py +24 -4
  26. pulumi_aws/dlm/_inputs.py +3 -3
  27. pulumi_aws/dlm/outputs.py +2 -2
  28. pulumi_aws/dynamodb/__init__.py +1 -0
  29. pulumi_aws/dynamodb/_inputs.py +370 -0
  30. pulumi_aws/dynamodb/global_secondary_index.py +666 -0
  31. pulumi_aws/dynamodb/outputs.py +315 -0
  32. pulumi_aws/dynamodb/table.py +9 -1
  33. pulumi_aws/ec2/_inputs.py +44 -4
  34. pulumi_aws/ec2/get_vpc_endpoint.py +24 -4
  35. pulumi_aws/ec2/outputs.py +54 -4
  36. pulumi_aws/ecr/__init__.py +1 -0
  37. pulumi_aws/ecr/_inputs.py +58 -22
  38. pulumi_aws/ecr/get_repository_creation_template.py +1 -1
  39. pulumi_aws/ecr/lifecycle_policy.py +152 -64
  40. pulumi_aws/ecr/outputs.py +37 -15
  41. pulumi_aws/ecr/pull_time_update_exclusion.py +363 -0
  42. pulumi_aws/ecr/repository_creation_template.py +7 -7
  43. pulumi_aws/ecs/_inputs.py +20 -0
  44. pulumi_aws/ecs/outputs.py +14 -0
  45. pulumi_aws/ecs/task_definition.py +28 -28
  46. pulumi_aws/elasticache/replication_group.py +7 -7
  47. pulumi_aws/fsx/ontap_file_system.py +14 -0
  48. pulumi_aws/glue/resource_policy.py +4 -4
  49. pulumi_aws/guardduty/_inputs.py +41 -1
  50. pulumi_aws/guardduty/outputs.py +27 -1
  51. pulumi_aws/iam/get_saml_provider.py +15 -1
  52. pulumi_aws/iam/outbound_web_identity_federation.py +0 -4
  53. pulumi_aws/iam/policy.py +47 -0
  54. pulumi_aws/iam/saml_provider.py +28 -0
  55. pulumi_aws/iam/virtual_mfa_device.py +66 -38
  56. pulumi_aws/imagebuilder/_inputs.py +87 -0
  57. pulumi_aws/imagebuilder/image.py +47 -0
  58. pulumi_aws/imagebuilder/image_pipeline.py +47 -0
  59. pulumi_aws/imagebuilder/outputs.py +87 -0
  60. pulumi_aws/kms/grant.py +18 -18
  61. pulumi_aws/lambda_/_inputs.py +24 -4
  62. pulumi_aws/lambda_/event_source_mapping.py +2 -0
  63. pulumi_aws/lambda_/function.py +28 -0
  64. pulumi_aws/lambda_/function_url.py +4 -0
  65. pulumi_aws/lambda_/get_function.py +15 -1
  66. pulumi_aws/lambda_/outputs.py +17 -3
  67. pulumi_aws/lambda_/permission.py +47 -0
  68. pulumi_aws/lb/listener.py +7 -7
  69. pulumi_aws/lb/target_group.py +7 -7
  70. pulumi_aws/lb/target_group_attachment.py +83 -0
  71. pulumi_aws/networkfirewall/_inputs.py +3 -3
  72. pulumi_aws/networkfirewall/outputs.py +2 -2
  73. pulumi_aws/networkfirewall/vpc_endpoint_association.py +2 -2
  74. pulumi_aws/networkmanager/vpc_attachment.py +7 -7
  75. pulumi_aws/opensearchingest/pipeline.py +47 -0
  76. pulumi_aws/organizations/__init__.py +1 -0
  77. pulumi_aws/organizations/tag.py +292 -0
  78. pulumi_aws/pulumi-plugin.json +1 -1
  79. pulumi_aws/rds/cluster.py +21 -21
  80. pulumi_aws/rds/get_proxy.py +29 -1
  81. pulumi_aws/rds/proxy.py +94 -0
  82. pulumi_aws/rds/proxy_default_target_group.py +0 -76
  83. pulumi_aws/rds/proxy_target.py +0 -80
  84. pulumi_aws/redshift/__init__.py +1 -0
  85. pulumi_aws/redshift/_inputs.py +329 -0
  86. pulumi_aws/redshift/idc_application.py +687 -0
  87. pulumi_aws/redshift/outputs.py +265 -0
  88. pulumi_aws/route53/get_resolver_firewall_rules.py +9 -0
  89. pulumi_aws/route53/get_resolver_rule.py +19 -4
  90. pulumi_aws/route53/outputs.py +108 -1
  91. pulumi_aws/route53/resolver_firewall_rule.py +199 -32
  92. pulumi_aws/secretsmanager/__init__.py +1 -0
  93. pulumi_aws/secretsmanager/tag.py +333 -0
  94. pulumi_aws/sesv2/__init__.py +1 -0
  95. pulumi_aws/sesv2/tenant.py +418 -0
  96. pulumi_aws/sfn/activity.py +0 -4
  97. pulumi_aws/sfn/alias.py +0 -4
  98. pulumi_aws/transfer/_inputs.py +126 -0
  99. pulumi_aws/transfer/outputs.py +97 -0
  100. pulumi_aws/transfer/web_app.py +54 -7
  101. pulumi_aws/vpclattice/service_network_resource_association.py +47 -0
  102. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/METADATA +1 -1
  103. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/RECORD +105 -93
  104. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/WHEEL +0 -0
  105. {pulumi_aws-7.15.0.dist-info → pulumi_aws-7.16.0.dist-info}/top_level.txt +0 -0
pulumi_aws/ecr/outputs.py CHANGED
@@ -544,8 +544,8 @@ class GetLifecyclePolicyDocumentRuleResult(dict):
544
544
  description: Optional[_builtins.str] = None,
545
545
  selection: Optional['outputs.GetLifecyclePolicyDocumentRuleSelectionResult'] = None):
546
546
  """
547
- :param _builtins.int priority: Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tag_status` value of "any" must have the highest value for `priority` and be evaluated last.
548
- :param 'GetLifecyclePolicyDocumentRuleActionArgs' action: Specifies the action type.
547
+ :param _builtins.int priority: Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tag_status` value of `any` must have the highest value for `priority` and be evaluated last.
548
+ :param 'GetLifecyclePolicyDocumentRuleActionArgs' action: Specifies the action to take.
549
549
  :param _builtins.str description: Describes the purpose of a rule within a lifecycle policy.
550
550
  :param 'GetLifecyclePolicyDocumentRuleSelectionArgs' selection: Collects parameters describing the selection criteria for the ECR lifecycle policy:
551
551
  """
@@ -561,7 +561,7 @@ class GetLifecyclePolicyDocumentRuleResult(dict):
561
561
  @pulumi.getter
562
562
  def priority(self) -> _builtins.int:
563
563
  """
564
- Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tag_status` value of "any" must have the highest value for `priority` and be evaluated last.
564
+ Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tag_status` value of `any` must have the highest value for `priority` and be evaluated last.
565
565
  """
566
566
  return pulumi.get(self, "priority")
567
567
 
@@ -569,7 +569,7 @@ class GetLifecyclePolicyDocumentRuleResult(dict):
569
569
  @pulumi.getter
570
570
  def action(self) -> Optional['outputs.GetLifecyclePolicyDocumentRuleActionResult']:
571
571
  """
572
- Specifies the action type.
572
+ Specifies the action to take.
573
573
  """
574
574
  return pulumi.get(self, "action")
575
575
 
@@ -593,20 +593,30 @@ class GetLifecyclePolicyDocumentRuleResult(dict):
593
593
  @pulumi.output_type
594
594
  class GetLifecyclePolicyDocumentRuleActionResult(dict):
595
595
  def __init__(__self__, *,
596
- type: _builtins.str):
596
+ type: _builtins.str,
597
+ target_storage_class: Optional[_builtins.str] = None):
597
598
  """
598
- :param _builtins.str type: The supported value is `expire`.
599
+ :param _builtins.str type: Specify an action type. The supported values are `expire` (to delete images) and `transition` (to move images to archive storage).
600
+ * `targetStorageClass` (Required if `type` is `transition`) - The storage class you want the lifecycle policy to transition the image to. `archive` is the only supported value.
599
601
  """
600
602
  pulumi.set(__self__, "type", type)
603
+ if target_storage_class is not None:
604
+ pulumi.set(__self__, "target_storage_class", target_storage_class)
601
605
 
602
606
  @_builtins.property
603
607
  @pulumi.getter
604
608
  def type(self) -> _builtins.str:
605
609
  """
606
- The supported value is `expire`.
610
+ Specify an action type. The supported values are `expire` (to delete images) and `transition` (to move images to archive storage).
611
+ * `targetStorageClass` (Required if `type` is `transition`) - The storage class you want the lifecycle policy to transition the image to. `archive` is the only supported value.
607
612
  """
608
613
  return pulumi.get(self, "type")
609
614
 
615
+ @_builtins.property
616
+ @pulumi.getter(name="targetStorageClass")
617
+ def target_storage_class(self) -> Optional[_builtins.str]:
618
+ return pulumi.get(self, "target_storage_class")
619
+
610
620
 
611
621
  @pulumi.output_type
612
622
  class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
@@ -615,13 +625,15 @@ class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
615
625
  count_type: _builtins.str,
616
626
  tag_status: _builtins.str,
617
627
  count_unit: Optional[_builtins.str] = None,
628
+ storage_class: Optional[_builtins.str] = None,
618
629
  tag_pattern_lists: Optional[Sequence[_builtins.str]] = None,
619
630
  tag_prefix_lists: Optional[Sequence[_builtins.str]] = None):
620
631
  """
621
- :param _builtins.int count_number: Specify a count number. If the `count_type` used is "imageCountMoreThan", then the value is the maximum number of images that you want to retain in your repository. If the `count_type` used is "sinceImagePushed", then the value is the maximum age limit for your images.
622
- :param _builtins.str count_type: Specify a count type to apply to the images. If `count_type` is set to "imageCountMoreThan", you also specify `count_number` to create a rule that sets a limit on the number of images that exist in your repository. If `count_type` is set to "sinceImagePushed", you also specify `count_unit` and `count_number` to specify a time limit on the images that exist in your repository.
623
- :param _builtins.str tag_status: Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are "tagged", "untagged", or "any". If you specify "any", then all images have the rule applied to them. If you specify "tagged", then you must also specify a `tag_prefix_list` value. If you specify "untagged", then you must omit `tag_prefix_list`.
624
- :param _builtins.str count_unit: Specify a count unit of days to indicate that as the unit of time, in addition to `count_number`, which is the number of days.
632
+ :param _builtins.int count_number: Specify a count number. If the `count_type` used is `imageCountMoreThan`, then the value is the maximum number of images that you want to retain in your repository. If the `count_type` used is `sinceImagePushed`, then the value is the maximum age limit for your images. If the `count_type` used is `sinceImagePulled`, then the value is the maximum number of days since the image was last pulled. If the `count_type` used is `sinceImageTransitioned`, then the value is the maximum number of days since the image was archived.
633
+ :param _builtins.str count_type: Specify a count type to apply to the images. If `count_type` is set to `imageCountMoreThan`, you also specify `count_number` to create a rule that sets a limit on the number of images that exist in your repository. If `count_type` is set to `sinceImagePushed`, `sinceImagePulled`, or `sinceImageTransitioned`, you also specify `count_unit` and `count_number` to specify a time limit on the images that exist in your repository.
634
+ :param _builtins.str tag_status: Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are `tagged`, `untagged`, or `any`. If you specify `any`, then all images have the rule evaluated against them. If you specify `tagged`, then you must also specify a `tag_prefix_list` value or a `tag_pattern_list` value. If you specify `untagged`, then you must omit both `tag_prefix_list` and `tag_pattern_list`.
635
+ :param _builtins.str count_unit: Specify a count unit of `days` to indicate that as the unit of time, in addition to `count_number`, which is the number of days.
636
+ :param _builtins.str storage_class: The rule will only select images of this storage class. When using a `count_type` of `imageCountMoreThan`, `sinceImagePushed`, or `sinceImagePulled`, the only supported value is `standard`. When using a `count_type` of `sinceImageTransitioned`, this is required, and the only supported value is `archive`. If you omit this, the value of `standard` will be used.
625
637
  :param Sequence[_builtins.str] tag_pattern_lists: You must specify a comma-separated list of image tag patterns that may contain wildcards (\\*) on which to take action with your lifecycle policy. For example, if your images are tagged as `prod`, `prod1`, `prod2`, and so on, you would use the tag pattern list `["prod\\*"]` to specify all of them. If you specify multiple tags, only the images with all specified tags are selected. There is a maximum limit of four wildcards (\\*) per string. For example, `["*test*1*2*3", "test*1*2*3*"]` is valid but `["test*1*2*3*4*5*6"]` is invalid.
626
638
  :param Sequence[_builtins.str] tag_prefix_lists: You must specify a comma-separated list of image tag prefixes on which to take action with your lifecycle policy. For example, if your images are tagged as `prod`, `prod1`, `prod2`, and so on, you would use the tag prefix "prod" to specify all of them. If you specify multiple tags, only images with all specified tags are selected.
627
639
  """
@@ -630,6 +642,8 @@ class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
630
642
  pulumi.set(__self__, "tag_status", tag_status)
631
643
  if count_unit is not None:
632
644
  pulumi.set(__self__, "count_unit", count_unit)
645
+ if storage_class is not None:
646
+ pulumi.set(__self__, "storage_class", storage_class)
633
647
  if tag_pattern_lists is not None:
634
648
  pulumi.set(__self__, "tag_pattern_lists", tag_pattern_lists)
635
649
  if tag_prefix_lists is not None:
@@ -639,7 +653,7 @@ class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
639
653
  @pulumi.getter(name="countNumber")
640
654
  def count_number(self) -> _builtins.int:
641
655
  """
642
- Specify a count number. If the `count_type` used is "imageCountMoreThan", then the value is the maximum number of images that you want to retain in your repository. If the `count_type` used is "sinceImagePushed", then the value is the maximum age limit for your images.
656
+ Specify a count number. If the `count_type` used is `imageCountMoreThan`, then the value is the maximum number of images that you want to retain in your repository. If the `count_type` used is `sinceImagePushed`, then the value is the maximum age limit for your images. If the `count_type` used is `sinceImagePulled`, then the value is the maximum number of days since the image was last pulled. If the `count_type` used is `sinceImageTransitioned`, then the value is the maximum number of days since the image was archived.
643
657
  """
644
658
  return pulumi.get(self, "count_number")
645
659
 
@@ -647,7 +661,7 @@ class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
647
661
  @pulumi.getter(name="countType")
648
662
  def count_type(self) -> _builtins.str:
649
663
  """
650
- Specify a count type to apply to the images. If `count_type` is set to "imageCountMoreThan", you also specify `count_number` to create a rule that sets a limit on the number of images that exist in your repository. If `count_type` is set to "sinceImagePushed", you also specify `count_unit` and `count_number` to specify a time limit on the images that exist in your repository.
664
+ Specify a count type to apply to the images. If `count_type` is set to `imageCountMoreThan`, you also specify `count_number` to create a rule that sets a limit on the number of images that exist in your repository. If `count_type` is set to `sinceImagePushed`, `sinceImagePulled`, or `sinceImageTransitioned`, you also specify `count_unit` and `count_number` to specify a time limit on the images that exist in your repository.
651
665
  """
652
666
  return pulumi.get(self, "count_type")
653
667
 
@@ -655,7 +669,7 @@ class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
655
669
  @pulumi.getter(name="tagStatus")
656
670
  def tag_status(self) -> _builtins.str:
657
671
  """
658
- Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are "tagged", "untagged", or "any". If you specify "any", then all images have the rule applied to them. If you specify "tagged", then you must also specify a `tag_prefix_list` value. If you specify "untagged", then you must omit `tag_prefix_list`.
672
+ Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are `tagged`, `untagged`, or `any`. If you specify `any`, then all images have the rule evaluated against them. If you specify `tagged`, then you must also specify a `tag_prefix_list` value or a `tag_pattern_list` value. If you specify `untagged`, then you must omit both `tag_prefix_list` and `tag_pattern_list`.
659
673
  """
660
674
  return pulumi.get(self, "tag_status")
661
675
 
@@ -663,10 +677,18 @@ class GetLifecyclePolicyDocumentRuleSelectionResult(dict):
663
677
  @pulumi.getter(name="countUnit")
664
678
  def count_unit(self) -> Optional[_builtins.str]:
665
679
  """
666
- Specify a count unit of days to indicate that as the unit of time, in addition to `count_number`, which is the number of days.
680
+ Specify a count unit of `days` to indicate that as the unit of time, in addition to `count_number`, which is the number of days.
667
681
  """
668
682
  return pulumi.get(self, "count_unit")
669
683
 
684
+ @_builtins.property
685
+ @pulumi.getter(name="storageClass")
686
+ def storage_class(self) -> Optional[_builtins.str]:
687
+ """
688
+ The rule will only select images of this storage class. When using a `count_type` of `imageCountMoreThan`, `sinceImagePushed`, or `sinceImagePulled`, the only supported value is `standard`. When using a `count_type` of `sinceImageTransitioned`, this is required, and the only supported value is `archive`. If you omit this, the value of `standard` will be used.
689
+ """
690
+ return pulumi.get(self, "storage_class")
691
+
670
692
  @_builtins.property
671
693
  @pulumi.getter(name="tagPatternLists")
672
694
  def tag_pattern_lists(self) -> Optional[Sequence[_builtins.str]]:
@@ -0,0 +1,363 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['PullTimeUpdateExclusionArgs', 'PullTimeUpdateExclusion']
18
+
19
+ @pulumi.input_type
20
+ class PullTimeUpdateExclusionArgs:
21
+ def __init__(__self__, *,
22
+ principal_arn: pulumi.Input[_builtins.str],
23
+ region: Optional[pulumi.Input[_builtins.str]] = None):
24
+ """
25
+ The set of arguments for constructing a PullTimeUpdateExclusion resource.
26
+ :param pulumi.Input[_builtins.str] principal_arn: ARN of the IAM principal to exclude from having image pull times recorded.
27
+
28
+ The following arguments are optional:
29
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
30
+ """
31
+ pulumi.set(__self__, "principal_arn", principal_arn)
32
+ if region is not None:
33
+ pulumi.set(__self__, "region", region)
34
+
35
+ @_builtins.property
36
+ @pulumi.getter(name="principalArn")
37
+ def principal_arn(self) -> pulumi.Input[_builtins.str]:
38
+ """
39
+ ARN of the IAM principal to exclude from having image pull times recorded.
40
+
41
+ The following arguments are optional:
42
+ """
43
+ return pulumi.get(self, "principal_arn")
44
+
45
+ @principal_arn.setter
46
+ def principal_arn(self, value: pulumi.Input[_builtins.str]):
47
+ pulumi.set(self, "principal_arn", value)
48
+
49
+ @_builtins.property
50
+ @pulumi.getter
51
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
52
+ """
53
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
54
+ """
55
+ return pulumi.get(self, "region")
56
+
57
+ @region.setter
58
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
59
+ pulumi.set(self, "region", value)
60
+
61
+
62
+ @pulumi.input_type
63
+ class _PullTimeUpdateExclusionState:
64
+ def __init__(__self__, *,
65
+ principal_arn: Optional[pulumi.Input[_builtins.str]] = None,
66
+ region: Optional[pulumi.Input[_builtins.str]] = None):
67
+ """
68
+ Input properties used for looking up and filtering PullTimeUpdateExclusion resources.
69
+ :param pulumi.Input[_builtins.str] principal_arn: ARN of the IAM principal to exclude from having image pull times recorded.
70
+
71
+ The following arguments are optional:
72
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
73
+ """
74
+ if principal_arn is not None:
75
+ pulumi.set(__self__, "principal_arn", principal_arn)
76
+ if region is not None:
77
+ pulumi.set(__self__, "region", region)
78
+
79
+ @_builtins.property
80
+ @pulumi.getter(name="principalArn")
81
+ def principal_arn(self) -> Optional[pulumi.Input[_builtins.str]]:
82
+ """
83
+ ARN of the IAM principal to exclude from having image pull times recorded.
84
+
85
+ The following arguments are optional:
86
+ """
87
+ return pulumi.get(self, "principal_arn")
88
+
89
+ @principal_arn.setter
90
+ def principal_arn(self, value: Optional[pulumi.Input[_builtins.str]]):
91
+ pulumi.set(self, "principal_arn", value)
92
+
93
+ @_builtins.property
94
+ @pulumi.getter
95
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
96
+ """
97
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
98
+ """
99
+ return pulumi.get(self, "region")
100
+
101
+ @region.setter
102
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
103
+ pulumi.set(self, "region", value)
104
+
105
+
106
+ @pulumi.type_token("aws:ecr/pullTimeUpdateExclusion:PullTimeUpdateExclusion")
107
+ class PullTimeUpdateExclusion(pulumi.CustomResource):
108
+ @overload
109
+ def __init__(__self__,
110
+ resource_name: str,
111
+ opts: Optional[pulumi.ResourceOptions] = None,
112
+ principal_arn: Optional[pulumi.Input[_builtins.str]] = None,
113
+ region: Optional[pulumi.Input[_builtins.str]] = None,
114
+ __props__=None):
115
+ """
116
+ Manages an AWS ECR (Elastic Container Registry) Pull Time Update Exclusion.
117
+
118
+ ## Example Usage
119
+
120
+ ### Basic Usage
121
+
122
+ ```python
123
+ import pulumi
124
+ import json
125
+ import pulumi_aws as aws
126
+
127
+ example = aws.iam.Role("example",
128
+ name="example-role",
129
+ assume_role_policy=json.dumps({
130
+ "Version": "2012-10-17",
131
+ "Statement": [{
132
+ "Action": "sts:AssumeRole",
133
+ "Effect": "Allow",
134
+ "Principal": {
135
+ "Service": "ec2.amazonaws.com",
136
+ },
137
+ }],
138
+ }))
139
+ example_role_policy = aws.iam.RolePolicy("example",
140
+ name="example-role-policy",
141
+ role=example.id,
142
+ policy=json.dumps({
143
+ "Version": "2012-10-17",
144
+ "Statement": [{
145
+ "Effect": "Allow",
146
+ "Action": [
147
+ "ecr:GetAuthorizationToken",
148
+ "ecr:BatchCheckLayerAvailability",
149
+ "ecr:GetDownloadUrlForLayer",
150
+ "ecr:BatchGetImage",
151
+ ],
152
+ "Resource": "*",
153
+ }],
154
+ }))
155
+ example_pull_time_update_exclusion = aws.ecr.PullTimeUpdateExclusion("example", principal_arn=example.arn)
156
+ ```
157
+
158
+ ### With IAM User
159
+
160
+ ```python
161
+ import pulumi
162
+ import json
163
+ import pulumi_aws as aws
164
+
165
+ example = aws.iam.User("example", name="example-user")
166
+ example_user_policy = aws.iam.UserPolicy("example",
167
+ name="example-user-policy",
168
+ user=example.name,
169
+ policy=json.dumps({
170
+ "Version": "2012-10-17",
171
+ "Statement": [{
172
+ "Effect": "Allow",
173
+ "Action": [
174
+ "ecr:GetAuthorizationToken",
175
+ "ecr:BatchCheckLayerAvailability",
176
+ "ecr:GetDownloadUrlForLayer",
177
+ "ecr:BatchGetImage",
178
+ ],
179
+ "Resource": "*",
180
+ }],
181
+ }))
182
+ example_pull_time_update_exclusion = aws.ecr.PullTimeUpdateExclusion("example", principal_arn=example.arn)
183
+ ```
184
+
185
+ ## Import
186
+
187
+ Using `pulumi import`, import ECR (Elastic Container Registry) Pull Time Update Exclusion using the `principal_arn`. For example:
188
+
189
+ ```sh
190
+ $ pulumi import aws:ecr/pullTimeUpdateExclusion:PullTimeUpdateExclusion example arn:aws:iam::123456789012:role/example-role
191
+ ```
192
+
193
+ :param str resource_name: The name of the resource.
194
+ :param pulumi.ResourceOptions opts: Options for the resource.
195
+ :param pulumi.Input[_builtins.str] principal_arn: ARN of the IAM principal to exclude from having image pull times recorded.
196
+
197
+ The following arguments are optional:
198
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
199
+ """
200
+ ...
201
+ @overload
202
+ def __init__(__self__,
203
+ resource_name: str,
204
+ args: PullTimeUpdateExclusionArgs,
205
+ opts: Optional[pulumi.ResourceOptions] = None):
206
+ """
207
+ Manages an AWS ECR (Elastic Container Registry) Pull Time Update Exclusion.
208
+
209
+ ## Example Usage
210
+
211
+ ### Basic Usage
212
+
213
+ ```python
214
+ import pulumi
215
+ import json
216
+ import pulumi_aws as aws
217
+
218
+ example = aws.iam.Role("example",
219
+ name="example-role",
220
+ assume_role_policy=json.dumps({
221
+ "Version": "2012-10-17",
222
+ "Statement": [{
223
+ "Action": "sts:AssumeRole",
224
+ "Effect": "Allow",
225
+ "Principal": {
226
+ "Service": "ec2.amazonaws.com",
227
+ },
228
+ }],
229
+ }))
230
+ example_role_policy = aws.iam.RolePolicy("example",
231
+ name="example-role-policy",
232
+ role=example.id,
233
+ policy=json.dumps({
234
+ "Version": "2012-10-17",
235
+ "Statement": [{
236
+ "Effect": "Allow",
237
+ "Action": [
238
+ "ecr:GetAuthorizationToken",
239
+ "ecr:BatchCheckLayerAvailability",
240
+ "ecr:GetDownloadUrlForLayer",
241
+ "ecr:BatchGetImage",
242
+ ],
243
+ "Resource": "*",
244
+ }],
245
+ }))
246
+ example_pull_time_update_exclusion = aws.ecr.PullTimeUpdateExclusion("example", principal_arn=example.arn)
247
+ ```
248
+
249
+ ### With IAM User
250
+
251
+ ```python
252
+ import pulumi
253
+ import json
254
+ import pulumi_aws as aws
255
+
256
+ example = aws.iam.User("example", name="example-user")
257
+ example_user_policy = aws.iam.UserPolicy("example",
258
+ name="example-user-policy",
259
+ user=example.name,
260
+ policy=json.dumps({
261
+ "Version": "2012-10-17",
262
+ "Statement": [{
263
+ "Effect": "Allow",
264
+ "Action": [
265
+ "ecr:GetAuthorizationToken",
266
+ "ecr:BatchCheckLayerAvailability",
267
+ "ecr:GetDownloadUrlForLayer",
268
+ "ecr:BatchGetImage",
269
+ ],
270
+ "Resource": "*",
271
+ }],
272
+ }))
273
+ example_pull_time_update_exclusion = aws.ecr.PullTimeUpdateExclusion("example", principal_arn=example.arn)
274
+ ```
275
+
276
+ ## Import
277
+
278
+ Using `pulumi import`, import ECR (Elastic Container Registry) Pull Time Update Exclusion using the `principal_arn`. For example:
279
+
280
+ ```sh
281
+ $ pulumi import aws:ecr/pullTimeUpdateExclusion:PullTimeUpdateExclusion example arn:aws:iam::123456789012:role/example-role
282
+ ```
283
+
284
+ :param str resource_name: The name of the resource.
285
+ :param PullTimeUpdateExclusionArgs args: The arguments to use to populate this resource's properties.
286
+ :param pulumi.ResourceOptions opts: Options for the resource.
287
+ """
288
+ ...
289
+ def __init__(__self__, resource_name: str, *args, **kwargs):
290
+ resource_args, opts = _utilities.get_resource_args_opts(PullTimeUpdateExclusionArgs, pulumi.ResourceOptions, *args, **kwargs)
291
+ if resource_args is not None:
292
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
293
+ else:
294
+ __self__._internal_init(resource_name, *args, **kwargs)
295
+
296
+ def _internal_init(__self__,
297
+ resource_name: str,
298
+ opts: Optional[pulumi.ResourceOptions] = None,
299
+ principal_arn: Optional[pulumi.Input[_builtins.str]] = None,
300
+ region: Optional[pulumi.Input[_builtins.str]] = None,
301
+ __props__=None):
302
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
303
+ if not isinstance(opts, pulumi.ResourceOptions):
304
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
305
+ if opts.id is None:
306
+ if __props__ is not None:
307
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
308
+ __props__ = PullTimeUpdateExclusionArgs.__new__(PullTimeUpdateExclusionArgs)
309
+
310
+ if principal_arn is None and not opts.urn:
311
+ raise TypeError("Missing required property 'principal_arn'")
312
+ __props__.__dict__["principal_arn"] = principal_arn
313
+ __props__.__dict__["region"] = region
314
+ super(PullTimeUpdateExclusion, __self__).__init__(
315
+ 'aws:ecr/pullTimeUpdateExclusion:PullTimeUpdateExclusion',
316
+ resource_name,
317
+ __props__,
318
+ opts)
319
+
320
+ @staticmethod
321
+ def get(resource_name: str,
322
+ id: pulumi.Input[str],
323
+ opts: Optional[pulumi.ResourceOptions] = None,
324
+ principal_arn: Optional[pulumi.Input[_builtins.str]] = None,
325
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'PullTimeUpdateExclusion':
326
+ """
327
+ Get an existing PullTimeUpdateExclusion resource's state with the given name, id, and optional extra
328
+ properties used to qualify the lookup.
329
+
330
+ :param str resource_name: The unique name of the resulting resource.
331
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
332
+ :param pulumi.ResourceOptions opts: Options for the resource.
333
+ :param pulumi.Input[_builtins.str] principal_arn: ARN of the IAM principal to exclude from having image pull times recorded.
334
+
335
+ The following arguments are optional:
336
+ :param pulumi.Input[_builtins.str] region: Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
337
+ """
338
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
339
+
340
+ __props__ = _PullTimeUpdateExclusionState.__new__(_PullTimeUpdateExclusionState)
341
+
342
+ __props__.__dict__["principal_arn"] = principal_arn
343
+ __props__.__dict__["region"] = region
344
+ return PullTimeUpdateExclusion(resource_name, opts=opts, __props__=__props__)
345
+
346
+ @_builtins.property
347
+ @pulumi.getter(name="principalArn")
348
+ def principal_arn(self) -> pulumi.Output[_builtins.str]:
349
+ """
350
+ ARN of the IAM principal to exclude from having image pull times recorded.
351
+
352
+ The following arguments are optional:
353
+ """
354
+ return pulumi.get(self, "principal_arn")
355
+
356
+ @_builtins.property
357
+ @pulumi.getter
358
+ def region(self) -> pulumi.Output[_builtins.str]:
359
+ """
360
+ Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
361
+ """
362
+ return pulumi.get(self, "region")
363
+
@@ -34,7 +34,7 @@ class RepositoryCreationTemplateArgs:
34
34
  resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
35
35
  """
36
36
  The set of arguments for constructing a RepositoryCreationTemplate resource.
37
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
37
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
38
38
  :param pulumi.Input[_builtins.str] prefix: The repository name prefix to match against. Use `ROOT` to match any prefix that doesn't explicitly match another template.
39
39
  :param pulumi.Input[_builtins.str] custom_role_arn: A custom IAM role to use for repository creation. Required if using repository tags or KMS encryption.
40
40
  :param pulumi.Input[_builtins.str] description: The description for this template.
@@ -70,7 +70,7 @@ class RepositoryCreationTemplateArgs:
70
70
  @pulumi.getter(name="appliedFors")
71
71
  def applied_fors(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
72
72
  """
73
- Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
73
+ Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
74
74
  """
75
75
  return pulumi.get(self, "applied_fors")
76
76
 
@@ -213,7 +213,7 @@ class _RepositoryCreationTemplateState:
213
213
  resource_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
214
214
  """
215
215
  Input properties used for looking up and filtering RepositoryCreationTemplate resources.
216
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
216
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
217
217
  :param pulumi.Input[_builtins.str] custom_role_arn: A custom IAM role to use for repository creation. Required if using repository tags or KMS encryption.
218
218
  :param pulumi.Input[_builtins.str] description: The description for this template.
219
219
  :param pulumi.Input[Sequence[pulumi.Input['RepositoryCreationTemplateEncryptionConfigurationArgs']]] encryption_configurations: Encryption configuration for any created repositories. See below for schema.
@@ -254,7 +254,7 @@ class _RepositoryCreationTemplateState:
254
254
  @pulumi.getter(name="appliedFors")
255
255
  def applied_fors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
256
256
  """
257
- Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
257
+ Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
258
258
  """
259
259
  return pulumi.get(self, "applied_fors")
260
260
 
@@ -486,7 +486,7 @@ class RepositoryCreationTemplate(pulumi.CustomResource):
486
486
 
487
487
  :param str resource_name: The name of the resource.
488
488
  :param pulumi.ResourceOptions opts: Options for the resource.
489
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
489
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
490
490
  :param pulumi.Input[_builtins.str] custom_role_arn: A custom IAM role to use for repository creation. Required if using repository tags or KMS encryption.
491
491
  :param pulumi.Input[_builtins.str] description: The description for this template.
492
492
  :param pulumi.Input[Sequence[pulumi.Input[Union['RepositoryCreationTemplateEncryptionConfigurationArgs', 'RepositoryCreationTemplateEncryptionConfigurationArgsDict']]]] encryption_configurations: Encryption configuration for any created repositories. See below for schema.
@@ -657,7 +657,7 @@ class RepositoryCreationTemplate(pulumi.CustomResource):
657
657
  :param str resource_name: The unique name of the resulting resource.
658
658
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
659
659
  :param pulumi.ResourceOptions opts: Options for the resource.
660
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
660
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] applied_fors: Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
661
661
  :param pulumi.Input[_builtins.str] custom_role_arn: A custom IAM role to use for repository creation. Required if using repository tags or KMS encryption.
662
662
  :param pulumi.Input[_builtins.str] description: The description for this template.
663
663
  :param pulumi.Input[Sequence[pulumi.Input[Union['RepositoryCreationTemplateEncryptionConfigurationArgs', 'RepositoryCreationTemplateEncryptionConfigurationArgsDict']]]] encryption_configurations: Encryption configuration for any created repositories. See below for schema.
@@ -691,7 +691,7 @@ class RepositoryCreationTemplate(pulumi.CustomResource):
691
691
  @pulumi.getter(name="appliedFors")
692
692
  def applied_fors(self) -> pulumi.Output[Sequence[_builtins.str]]:
693
693
  """
694
- Which features this template applies to. Must contain one or more of `PULL_THROUGH_CACHE` or `REPLICATION`.
694
+ Which features this template applies to. Must contain one or more of `CREATE_ON_PUSH`, `PULL_THROUGH_CACHE`, or `REPLICATION`.
695
695
  """
696
696
  return pulumi.get(self, "applied_fors")
697
697
 
pulumi_aws/ecs/_inputs.py CHANGED
@@ -536,6 +536,10 @@ if not MYPY:
536
536
  """
537
537
  The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
538
538
  """
539
+ capacity_option_type: NotRequired[pulumi.Input[_builtins.str]]
540
+ """
541
+ The purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand or Spot instances. Valid values are `ON_DEMAND` and `SPOT`. Defaults to `ON_DEMAND` when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see [Amazon EC2 billing and purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the Amazon EC2 User Guide.
542
+ """
539
543
  instance_requirements: NotRequired[pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgsDict']]
540
544
  """
541
545
  The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
@@ -556,18 +560,22 @@ class CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs:
556
560
  def __init__(__self__, *,
557
561
  ec2_instance_profile_arn: pulumi.Input[_builtins.str],
558
562
  network_configuration: pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs'],
563
+ capacity_option_type: Optional[pulumi.Input[_builtins.str]] = None,
559
564
  instance_requirements: Optional[pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs']] = None,
560
565
  monitoring: Optional[pulumi.Input[_builtins.str]] = None,
561
566
  storage_configuration: Optional[pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs']] = None):
562
567
  """
563
568
  :param pulumi.Input[_builtins.str] ec2_instance_profile_arn: The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see [Amazon ECS instance profile for Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html) in the Amazon ECS Developer Guide.
564
569
  :param pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs'] network_configuration: The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity. Detailed below.
570
+ :param pulumi.Input[_builtins.str] capacity_option_type: The purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand or Spot instances. Valid values are `ON_DEMAND` and `SPOT`. Defaults to `ON_DEMAND` when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see [Amazon EC2 billing and purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the Amazon EC2 User Guide.
565
571
  :param pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs'] instance_requirements: The instance requirements. You can specify the instance types and instance requirements such as vCPU count, memory, network performance, and accelerator specifications. Amazon ECS automatically selects the instances that match the specified criteria. Detailed below.
566
572
  :param pulumi.Input[_builtins.str] monitoring: CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see [Detailed monitoring for Amazon ECS Managed Instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) in the Amazon ECS Developer Guide. Valid values are `BASIC` and `DETAILED`.
567
573
  :param pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateStorageConfigurationArgs'] storage_configuration: The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances. Detailed below.
568
574
  """
569
575
  pulumi.set(__self__, "ec2_instance_profile_arn", ec2_instance_profile_arn)
570
576
  pulumi.set(__self__, "network_configuration", network_configuration)
577
+ if capacity_option_type is not None:
578
+ pulumi.set(__self__, "capacity_option_type", capacity_option_type)
571
579
  if instance_requirements is not None:
572
580
  pulumi.set(__self__, "instance_requirements", instance_requirements)
573
581
  if monitoring is not None:
@@ -599,6 +607,18 @@ class CapacityProviderManagedInstancesProviderInstanceLaunchTemplateArgs:
599
607
  def network_configuration(self, value: pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateNetworkConfigurationArgs']):
600
608
  pulumi.set(self, "network_configuration", value)
601
609
 
610
+ @_builtins.property
611
+ @pulumi.getter(name="capacityOptionType")
612
+ def capacity_option_type(self) -> Optional[pulumi.Input[_builtins.str]]:
613
+ """
614
+ The purchasing option for the EC2 instances used in the capacity provider. Determines whether to use On-Demand or Spot instances. Valid values are `ON_DEMAND` and `SPOT`. Defaults to `ON_DEMAND` when not specified. Changing this value will trigger replacement of the capacity provider. For more information, see [Amazon EC2 billing and purchasing options](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) in the Amazon EC2 User Guide.
615
+ """
616
+ return pulumi.get(self, "capacity_option_type")
617
+
618
+ @capacity_option_type.setter
619
+ def capacity_option_type(self, value: Optional[pulumi.Input[_builtins.str]]):
620
+ pulumi.set(self, "capacity_option_type", value)
621
+
602
622
  @_builtins.property
603
623
  @pulumi.getter(name="instanceRequirements")
604
624
  def instance_requirements(self) -> Optional[pulumi.Input['CapacityProviderManagedInstancesProviderInstanceLaunchTemplateInstanceRequirementsArgs']]: