pulumi-aws-native 1.39.0a1762385303__py3-none-any.whl → 1.39.0a1762580459__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 (65) hide show
  1. pulumi_aws_native/__init__.py +2 -0
  2. pulumi_aws_native/backup/get_logically_air_gapped_backup_vault.py +12 -1
  3. pulumi_aws_native/backup/logically_air_gapped_backup_vault.py +21 -0
  4. pulumi_aws_native/cassandra/_enums.py +3 -0
  5. pulumi_aws_native/cleanrooms/_enums.py +98 -0
  6. pulumi_aws_native/cleanrooms/_inputs.py +138 -12
  7. pulumi_aws_native/cleanrooms/collaboration.py +30 -1
  8. pulumi_aws_native/cleanrooms/get_privacy_budget_template.py +1 -0
  9. pulumi_aws_native/cleanrooms/outputs.py +106 -9
  10. pulumi_aws_native/cloudfront/_inputs.py +7 -0
  11. pulumi_aws_native/cloudfront/get_vpc_origin.py +3 -0
  12. pulumi_aws_native/cloudfront/outputs.py +4 -0
  13. pulumi_aws_native/cloudfront/vpc_origin.py +3 -0
  14. pulumi_aws_native/connect/_enums.py +9 -0
  15. pulumi_aws_native/connect/_inputs.py +168 -0
  16. pulumi_aws_native/connect/get_security_profile.py +13 -1
  17. pulumi_aws_native/connect/outputs.py +172 -0
  18. pulumi_aws_native/connect/security_profile.py +22 -0
  19. pulumi_aws_native/datazone/_enums.py +10 -0
  20. pulumi_aws_native/datazone/_inputs.py +99 -4
  21. pulumi_aws_native/datazone/connection.py +37 -8
  22. pulumi_aws_native/datazone/outputs.py +101 -6
  23. pulumi_aws_native/dynamodb/_inputs.py +6 -5
  24. pulumi_aws_native/dynamodb/outputs.py +4 -3
  25. pulumi_aws_native/ecr/_inputs.py +2 -2
  26. pulumi_aws_native/ecr/get_repository_creation_template.py +1 -1
  27. pulumi_aws_native/ecr/outputs.py +2 -2
  28. pulumi_aws_native/ecr/repository_creation_template.py +4 -4
  29. pulumi_aws_native/ecs/_inputs.py +6 -6
  30. pulumi_aws_native/ecs/outputs.py +4 -4
  31. pulumi_aws_native/ecs/task_definition.py +8 -8
  32. pulumi_aws_native/elasticloadbalancingv2/_inputs.py +23 -3
  33. pulumi_aws_native/elasticloadbalancingv2/outputs.py +16 -2
  34. pulumi_aws_native/gamelift/_enums.py +1 -0
  35. pulumi_aws_native/kinesis/get_stream.py +15 -1
  36. pulumi_aws_native/kinesis/stream.py +29 -0
  37. pulumi_aws_native/kms/_enums.py +1 -0
  38. pulumi_aws_native/lambda_/permission.py +4 -4
  39. pulumi_aws_native/location/_inputs.py +86 -0
  40. pulumi_aws_native/location/outputs.py +88 -0
  41. pulumi_aws_native/opensearchserverless/collection.py +11 -1
  42. pulumi_aws_native/opensearchserverless/get_collection.py +11 -12
  43. pulumi_aws_native/pulumi-plugin.json +1 -1
  44. pulumi_aws_native/quicksight/_enums.py +62 -0
  45. pulumi_aws_native/quicksight/_inputs.py +2571 -260
  46. pulumi_aws_native/quicksight/data_set.py +42 -24
  47. pulumi_aws_native/quicksight/get_data_set.py +23 -10
  48. pulumi_aws_native/quicksight/outputs.py +2247 -94
  49. pulumi_aws_native/servicecatalog/__init__.py +2 -0
  50. pulumi_aws_native/servicecatalog/_enums.py +28 -0
  51. pulumi_aws_native/servicecatalog/_inputs.py +364 -0
  52. pulumi_aws_native/servicecatalog/cloud_formation_product.py +519 -0
  53. pulumi_aws_native/servicecatalog/get_cloud_formation_product.py +276 -0
  54. pulumi_aws_native/servicecatalog/outputs.py +311 -0
  55. pulumi_aws_native/ses/__init__.py +2 -0
  56. pulumi_aws_native/ses/_inputs.py +54 -0
  57. pulumi_aws_native/ses/get_multi_region_endpoint.py +78 -0
  58. pulumi_aws_native/ses/multi_region_endpoint.py +190 -0
  59. pulumi_aws_native/ses/outputs.py +49 -0
  60. pulumi_aws_native/wafv2/_inputs.py +7 -0
  61. pulumi_aws_native/wafv2/outputs.py +4 -0
  62. {pulumi_aws_native-1.39.0a1762385303.dist-info → pulumi_aws_native-1.39.0a1762580459.dist-info}/METADATA +1 -1
  63. {pulumi_aws_native-1.39.0a1762385303.dist-info → pulumi_aws_native-1.39.0a1762580459.dist-info}/RECORD +65 -61
  64. {pulumi_aws_native-1.39.0a1762385303.dist-info → pulumi_aws_native-1.39.0a1762580459.dist-info}/WHEEL +0 -0
  65. {pulumi_aws_native-1.39.0a1762385303.dist-info → pulumi_aws_native-1.39.0a1762580459.dist-info}/top_level.txt +0 -0
@@ -85,6 +85,7 @@ __all__ = [
85
85
  'MembershipProtectedQueryS3OutputConfiguration',
86
86
  'MembershipQueryComputePaymentConfig',
87
87
  'ParametersProperties',
88
+ 'PrivacyBudgetTemplateBudgetParameter',
88
89
  ]
89
90
 
90
91
  @pulumi.output_type
@@ -1477,12 +1478,15 @@ class ConfiguredTableAthenaTableReference(dict):
1477
1478
  database_name: _builtins.str,
1478
1479
  table_name: _builtins.str,
1479
1480
  work_group: _builtins.str,
1480
- output_location: Optional[_builtins.str] = None):
1481
+ output_location: Optional[_builtins.str] = None,
1482
+ region: Optional['ConfiguredTableCommercialRegion'] = None):
1481
1483
  pulumi.set(__self__, "database_name", database_name)
1482
1484
  pulumi.set(__self__, "table_name", table_name)
1483
1485
  pulumi.set(__self__, "work_group", work_group)
1484
1486
  if output_location is not None:
1485
1487
  pulumi.set(__self__, "output_location", output_location)
1488
+ if region is not None:
1489
+ pulumi.set(__self__, "region", region)
1486
1490
 
1487
1491
  @_builtins.property
1488
1492
  @pulumi.getter(name="databaseName")
@@ -1504,6 +1508,11 @@ class ConfiguredTableAthenaTableReference(dict):
1504
1508
  def output_location(self) -> Optional[_builtins.str]:
1505
1509
  return pulumi.get(self, "output_location")
1506
1510
 
1511
+ @_builtins.property
1512
+ @pulumi.getter
1513
+ def region(self) -> Optional['ConfiguredTableCommercialRegion']:
1514
+ return pulumi.get(self, "region")
1515
+
1507
1516
 
1508
1517
  @pulumi.output_type
1509
1518
  class ConfiguredTableDifferentialPrivacy(dict):
@@ -1552,9 +1561,12 @@ class ConfiguredTableGlueTableReference(dict):
1552
1561
 
1553
1562
  def __init__(__self__, *,
1554
1563
  database_name: _builtins.str,
1555
- table_name: _builtins.str):
1564
+ table_name: _builtins.str,
1565
+ region: Optional['ConfiguredTableCommercialRegion'] = None):
1556
1566
  pulumi.set(__self__, "database_name", database_name)
1557
1567
  pulumi.set(__self__, "table_name", table_name)
1568
+ if region is not None:
1569
+ pulumi.set(__self__, "region", region)
1558
1570
 
1559
1571
  @_builtins.property
1560
1572
  @pulumi.getter(name="databaseName")
@@ -1566,6 +1578,11 @@ class ConfiguredTableGlueTableReference(dict):
1566
1578
  def table_name(self) -> _builtins.str:
1567
1579
  return pulumi.get(self, "table_name")
1568
1580
 
1581
+ @_builtins.property
1582
+ @pulumi.getter
1583
+ def region(self) -> Optional['ConfiguredTableCommercialRegion']:
1584
+ return pulumi.get(self, "region")
1585
+
1569
1586
 
1570
1587
  @pulumi.output_type
1571
1588
  class ConfiguredTableSnowflakeTableReference(dict):
@@ -2578,7 +2595,11 @@ class ParametersProperties(dict):
2578
2595
  @staticmethod
2579
2596
  def __key_warning(key: str):
2580
2597
  suggest = None
2581
- if key == "usersNoisePerQuery":
2598
+ if key == "budgetParameters":
2599
+ suggest = "budget_parameters"
2600
+ elif key == "resourceArn":
2601
+ suggest = "resource_arn"
2602
+ elif key == "usersNoisePerQuery":
2582
2603
  suggest = "users_noise_per_query"
2583
2604
 
2584
2605
  if suggest:
@@ -2593,30 +2614,106 @@ class ParametersProperties(dict):
2593
2614
  return super().get(key, default)
2594
2615
 
2595
2616
  def __init__(__self__, *,
2596
- epsilon: _builtins.int,
2597
- users_noise_per_query: _builtins.int):
2617
+ budget_parameters: Optional[Sequence['outputs.PrivacyBudgetTemplateBudgetParameter']] = None,
2618
+ epsilon: Optional[_builtins.int] = None,
2619
+ resource_arn: Optional[_builtins.str] = None,
2620
+ users_noise_per_query: Optional[_builtins.int] = None):
2598
2621
  """
2599
2622
  Specifies the epsilon and noise parameters for the privacy budget template.
2600
2623
  :param _builtins.int epsilon: The epsilon value that you want to use.
2601
2624
  :param _builtins.int users_noise_per_query: Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.
2602
2625
  """
2603
- pulumi.set(__self__, "epsilon", epsilon)
2604
- pulumi.set(__self__, "users_noise_per_query", users_noise_per_query)
2626
+ if budget_parameters is not None:
2627
+ pulumi.set(__self__, "budget_parameters", budget_parameters)
2628
+ if epsilon is not None:
2629
+ pulumi.set(__self__, "epsilon", epsilon)
2630
+ if resource_arn is not None:
2631
+ pulumi.set(__self__, "resource_arn", resource_arn)
2632
+ if users_noise_per_query is not None:
2633
+ pulumi.set(__self__, "users_noise_per_query", users_noise_per_query)
2634
+
2635
+ @_builtins.property
2636
+ @pulumi.getter(name="budgetParameters")
2637
+ def budget_parameters(self) -> Optional[Sequence['outputs.PrivacyBudgetTemplateBudgetParameter']]:
2638
+ return pulumi.get(self, "budget_parameters")
2605
2639
 
2606
2640
  @_builtins.property
2607
2641
  @pulumi.getter
2608
- def epsilon(self) -> _builtins.int:
2642
+ def epsilon(self) -> Optional[_builtins.int]:
2609
2643
  """
2610
2644
  The epsilon value that you want to use.
2611
2645
  """
2612
2646
  return pulumi.get(self, "epsilon")
2613
2647
 
2648
+ @_builtins.property
2649
+ @pulumi.getter(name="resourceArn")
2650
+ def resource_arn(self) -> Optional[_builtins.str]:
2651
+ return pulumi.get(self, "resource_arn")
2652
+
2614
2653
  @_builtins.property
2615
2654
  @pulumi.getter(name="usersNoisePerQuery")
2616
- def users_noise_per_query(self) -> _builtins.int:
2655
+ def users_noise_per_query(self) -> Optional[_builtins.int]:
2617
2656
  """
2618
2657
  Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.
2619
2658
  """
2620
2659
  return pulumi.get(self, "users_noise_per_query")
2621
2660
 
2622
2661
 
2662
+ @pulumi.output_type
2663
+ class PrivacyBudgetTemplateBudgetParameter(dict):
2664
+ @staticmethod
2665
+ def __key_warning(key: str):
2666
+ suggest = None
2667
+ if key == "autoRefresh":
2668
+ suggest = "auto_refresh"
2669
+
2670
+ if suggest:
2671
+ pulumi.log.warn(f"Key '{key}' not found in PrivacyBudgetTemplateBudgetParameter. Access the value via the '{suggest}' property getter instead.")
2672
+
2673
+ def __getitem__(self, key: str) -> Any:
2674
+ PrivacyBudgetTemplateBudgetParameter.__key_warning(key)
2675
+ return super().__getitem__(key)
2676
+
2677
+ def get(self, key: str, default = None) -> Any:
2678
+ PrivacyBudgetTemplateBudgetParameter.__key_warning(key)
2679
+ return super().get(key, default)
2680
+
2681
+ def __init__(__self__, *,
2682
+ budget: _builtins.int,
2683
+ type: 'PrivacyBudgetTemplateBudgetParameterType',
2684
+ auto_refresh: Optional['PrivacyBudgetTemplateBudgetParameterAutoRefresh'] = None):
2685
+ """
2686
+ :param _builtins.int budget: The budget allocation amount for this specific parameter.
2687
+ :param 'PrivacyBudgetTemplateBudgetParameterType' type: The type of budget parameter being configured.
2688
+ :param 'PrivacyBudgetTemplateBudgetParameterAutoRefresh' auto_refresh: Whether this individual budget parameter automatically refreshes when the budget period resets.
2689
+ """
2690
+ pulumi.set(__self__, "budget", budget)
2691
+ pulumi.set(__self__, "type", type)
2692
+ if auto_refresh is not None:
2693
+ pulumi.set(__self__, "auto_refresh", auto_refresh)
2694
+
2695
+ @_builtins.property
2696
+ @pulumi.getter
2697
+ def budget(self) -> _builtins.int:
2698
+ """
2699
+ The budget allocation amount for this specific parameter.
2700
+ """
2701
+ return pulumi.get(self, "budget")
2702
+
2703
+ @_builtins.property
2704
+ @pulumi.getter
2705
+ def type(self) -> 'PrivacyBudgetTemplateBudgetParameterType':
2706
+ """
2707
+ The type of budget parameter being configured.
2708
+ """
2709
+ return pulumi.get(self, "type")
2710
+
2711
+ @_builtins.property
2712
+ @pulumi.getter(name="autoRefresh")
2713
+ def auto_refresh(self) -> Optional['PrivacyBudgetTemplateBudgetParameterAutoRefresh']:
2714
+ """
2715
+ Whether this individual budget parameter automatically refreshes when the budget period resets.
2716
+ """
2717
+ return pulumi.get(self, "auto_refresh")
2718
+
2719
+
@@ -5546,6 +5546,9 @@ if not MYPY:
5546
5546
  For more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.
5547
5547
  """
5548
5548
  owner_account_id: NotRequired[pulumi.Input[_builtins.str]]
5549
+ """
5550
+ The account ID of the AWS account that owns the VPC origin.
5551
+ """
5549
5552
  elif False:
5550
5553
  DistributionVpcOriginConfigArgsDict: TypeAlias = Mapping[str, Any]
5551
5554
 
@@ -5563,6 +5566,7 @@ class DistributionVpcOriginConfigArgs:
5563
5566
  For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.
5564
5567
  :param pulumi.Input[_builtins.int] origin_read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.
5565
5568
  For more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.
5569
+ :param pulumi.Input[_builtins.str] owner_account_id: The account ID of the AWS account that owns the VPC origin.
5566
5570
  """
5567
5571
  pulumi.set(__self__, "vpc_origin_id", vpc_origin_id)
5568
5572
  if origin_keepalive_timeout is not None:
@@ -5613,6 +5617,9 @@ class DistributionVpcOriginConfigArgs:
5613
5617
  @_builtins.property
5614
5618
  @pulumi.getter(name="ownerAccountId")
5615
5619
  def owner_account_id(self) -> Optional[pulumi.Input[_builtins.str]]:
5620
+ """
5621
+ The account ID of the AWS account that owns the VPC origin.
5622
+ """
5616
5623
  return pulumi.get(self, "owner_account_id")
5617
5624
 
5618
5625
  @owner_account_id.setter
@@ -54,6 +54,9 @@ class GetVpcOriginResult:
54
54
  @_builtins.property
55
55
  @pulumi.getter(name="accountId")
56
56
  def account_id(self) -> Optional[_builtins.str]:
57
+ """
58
+ The account ID of the AWS account that owns the VPC origin.
59
+ """
57
60
  return pulumi.get(self, "account_id")
58
61
 
59
62
  @_builtins.property
@@ -4373,6 +4373,7 @@ class DistributionVpcOriginConfig(dict):
4373
4373
  For more information, see [Keep-alive timeout (custom origins only)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginKeepaliveTimeout) in the *Amazon CloudFront Developer Guide*.
4374
4374
  :param _builtins.int origin_read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. This is also known as the *origin response timeout*. The minimum timeout is 1 second, the maximum is 120 seconds, and the default (if you don't specify otherwise) is 30 seconds.
4375
4375
  For more information, see [Response timeout](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#DownloadDistValuesOriginResponseTimeout) in the *Amazon CloudFront Developer Guide*.
4376
+ :param _builtins.str owner_account_id: The account ID of the AWS account that owns the VPC origin.
4376
4377
  """
4377
4378
  pulumi.set(__self__, "vpc_origin_id", vpc_origin_id)
4378
4379
  if origin_keepalive_timeout is not None:
@@ -4411,6 +4412,9 @@ class DistributionVpcOriginConfig(dict):
4411
4412
  @_builtins.property
4412
4413
  @pulumi.getter(name="ownerAccountId")
4413
4414
  def owner_account_id(self) -> Optional[_builtins.str]:
4415
+ """
4416
+ The account ID of the AWS account that owns the VPC origin.
4417
+ """
4414
4418
  return pulumi.get(self, "owner_account_id")
4415
4419
 
4416
4420
 
@@ -156,6 +156,9 @@ class VpcOrigin(pulumi.CustomResource):
156
156
  @_builtins.property
157
157
  @pulumi.getter(name="accountId")
158
158
  def account_id(self) -> pulumi.Output[_builtins.str]:
159
+ """
160
+ The account ID of the AWS account that owns the VPC origin.
161
+ """
159
162
  return pulumi.get(self, "account_id")
160
163
 
161
164
  @_builtins.property
@@ -44,6 +44,7 @@ __all__ = [
44
44
  'RuleSendNotificationActionContentType',
45
45
  'RuleSendNotificationActionDeliveryMethod',
46
46
  'RuleTriggerEventSourceEventSourceName',
47
+ 'SecurityProfilePrimaryAttributeValueAccessType',
47
48
  'TaskTemplateFieldType',
48
49
  'TaskTemplateStatus',
49
50
  'TrafficDistributionGroupStatus',
@@ -444,6 +445,14 @@ class RuleTriggerEventSourceEventSourceName(_builtins.str, Enum):
444
445
  ON_CASE_UPDATE = "OnCaseUpdate"
445
446
 
446
447
 
448
+ @pulumi.type_token("aws-native:connect:SecurityProfilePrimaryAttributeValueAccessType")
449
+ class SecurityProfilePrimaryAttributeValueAccessType(_builtins.str, Enum):
450
+ """
451
+ Specifies the type of access granted. Currently, only "ALLOW" is supported
452
+ """
453
+ ALLOW = "ALLOW"
454
+
455
+
447
456
  @pulumi.type_token("aws-native:connect:TaskTemplateFieldType")
448
457
  class TaskTemplateFieldType(_builtins.str, Enum):
449
458
  """
@@ -74,6 +74,8 @@ __all__ = [
74
74
  'EvaluationFormTextQuestionAutomationArgsDict',
75
75
  'EvaluationFormTextQuestionPropertiesArgs',
76
76
  'EvaluationFormTextQuestionPropertiesArgsDict',
77
+ 'GranularAccessControlConfigurationPropertiesArgs',
78
+ 'GranularAccessControlConfigurationPropertiesArgsDict',
77
79
  'HoursOfOperationConfigArgs',
78
80
  'HoursOfOperationConfigArgsDict',
79
81
  'HoursOfOperationOverrideConfigArgs',
@@ -148,6 +150,12 @@ __all__ = [
148
150
  'RuleUpdateCaseActionArgsDict',
149
151
  'SecurityProfileApplicationArgs',
150
152
  'SecurityProfileApplicationArgsDict',
153
+ 'SecurityProfileDataTableAccessControlConfigurationArgs',
154
+ 'SecurityProfileDataTableAccessControlConfigurationArgsDict',
155
+ 'SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgs',
156
+ 'SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgsDict',
157
+ 'SecurityProfilePrimaryAttributeValueArgs',
158
+ 'SecurityProfilePrimaryAttributeValueArgsDict',
151
159
  'SecurityProfileTagArgs',
152
160
  'SecurityProfileTagArgsDict',
153
161
  'TaskTemplateDefaultFieldValueArgs',
@@ -2050,6 +2058,29 @@ class EvaluationFormTextQuestionPropertiesArgs:
2050
2058
  pulumi.set(self, "automation", value)
2051
2059
 
2052
2060
 
2061
+ if not MYPY:
2062
+ class GranularAccessControlConfigurationPropertiesArgsDict(TypedDict):
2063
+ data_table_access_control_configuration: NotRequired[pulumi.Input['SecurityProfileDataTableAccessControlConfigurationArgsDict']]
2064
+ elif False:
2065
+ GranularAccessControlConfigurationPropertiesArgsDict: TypeAlias = Mapping[str, Any]
2066
+
2067
+ @pulumi.input_type
2068
+ class GranularAccessControlConfigurationPropertiesArgs:
2069
+ def __init__(__self__, *,
2070
+ data_table_access_control_configuration: Optional[pulumi.Input['SecurityProfileDataTableAccessControlConfigurationArgs']] = None):
2071
+ if data_table_access_control_configuration is not None:
2072
+ pulumi.set(__self__, "data_table_access_control_configuration", data_table_access_control_configuration)
2073
+
2074
+ @_builtins.property
2075
+ @pulumi.getter(name="dataTableAccessControlConfiguration")
2076
+ def data_table_access_control_configuration(self) -> Optional[pulumi.Input['SecurityProfileDataTableAccessControlConfigurationArgs']]:
2077
+ return pulumi.get(self, "data_table_access_control_configuration")
2078
+
2079
+ @data_table_access_control_configuration.setter
2080
+ def data_table_access_control_configuration(self, value: Optional[pulumi.Input['SecurityProfileDataTableAccessControlConfigurationArgs']]):
2081
+ pulumi.set(self, "data_table_access_control_configuration", value)
2082
+
2083
+
2053
2084
  if not MYPY:
2054
2085
  class HoursOfOperationConfigArgsDict(TypedDict):
2055
2086
  """
@@ -4326,6 +4357,143 @@ class SecurityProfileApplicationArgs:
4326
4357
  pulumi.set(self, "namespace", value)
4327
4358
 
4328
4359
 
4360
+ if not MYPY:
4361
+ class SecurityProfileDataTableAccessControlConfigurationArgsDict(TypedDict):
4362
+ """
4363
+ Defines the access control configuration for data tables.
4364
+ """
4365
+ primary_attribute_access_control_configuration: NotRequired[pulumi.Input['SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgsDict']]
4366
+ elif False:
4367
+ SecurityProfileDataTableAccessControlConfigurationArgsDict: TypeAlias = Mapping[str, Any]
4368
+
4369
+ @pulumi.input_type
4370
+ class SecurityProfileDataTableAccessControlConfigurationArgs:
4371
+ def __init__(__self__, *,
4372
+ primary_attribute_access_control_configuration: Optional[pulumi.Input['SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgs']] = None):
4373
+ """
4374
+ Defines the access control configuration for data tables.
4375
+ """
4376
+ if primary_attribute_access_control_configuration is not None:
4377
+ pulumi.set(__self__, "primary_attribute_access_control_configuration", primary_attribute_access_control_configuration)
4378
+
4379
+ @_builtins.property
4380
+ @pulumi.getter(name="primaryAttributeAccessControlConfiguration")
4381
+ def primary_attribute_access_control_configuration(self) -> Optional[pulumi.Input['SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgs']]:
4382
+ return pulumi.get(self, "primary_attribute_access_control_configuration")
4383
+
4384
+ @primary_attribute_access_control_configuration.setter
4385
+ def primary_attribute_access_control_configuration(self, value: Optional[pulumi.Input['SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgs']]):
4386
+ pulumi.set(self, "primary_attribute_access_control_configuration", value)
4387
+
4388
+
4389
+ if not MYPY:
4390
+ class SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgsDict(TypedDict):
4391
+ """
4392
+ Contains the configuration for record-based access control.
4393
+ """
4394
+ primary_attribute_values: pulumi.Input[Sequence[pulumi.Input['SecurityProfilePrimaryAttributeValueArgsDict']]]
4395
+ """
4396
+ An array of PrimaryAttributeValue objects.
4397
+ """
4398
+ elif False:
4399
+ SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgsDict: TypeAlias = Mapping[str, Any]
4400
+
4401
+ @pulumi.input_type
4402
+ class SecurityProfilePrimaryAttributeAccessControlConfigurationItemArgs:
4403
+ def __init__(__self__, *,
4404
+ primary_attribute_values: pulumi.Input[Sequence[pulumi.Input['SecurityProfilePrimaryAttributeValueArgs']]]):
4405
+ """
4406
+ Contains the configuration for record-based access control.
4407
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityProfilePrimaryAttributeValueArgs']]] primary_attribute_values: An array of PrimaryAttributeValue objects.
4408
+ """
4409
+ pulumi.set(__self__, "primary_attribute_values", primary_attribute_values)
4410
+
4411
+ @_builtins.property
4412
+ @pulumi.getter(name="primaryAttributeValues")
4413
+ def primary_attribute_values(self) -> pulumi.Input[Sequence[pulumi.Input['SecurityProfilePrimaryAttributeValueArgs']]]:
4414
+ """
4415
+ An array of PrimaryAttributeValue objects.
4416
+ """
4417
+ return pulumi.get(self, "primary_attribute_values")
4418
+
4419
+ @primary_attribute_values.setter
4420
+ def primary_attribute_values(self, value: pulumi.Input[Sequence[pulumi.Input['SecurityProfilePrimaryAttributeValueArgs']]]):
4421
+ pulumi.set(self, "primary_attribute_values", value)
4422
+
4423
+
4424
+ if not MYPY:
4425
+ class SecurityProfilePrimaryAttributeValueArgsDict(TypedDict):
4426
+ """
4427
+ An object defining the access control for a specific attribute and its values.
4428
+ """
4429
+ access_type: pulumi.Input['SecurityProfilePrimaryAttributeValueAccessType']
4430
+ """
4431
+ Specifies the type of access granted. Currently, only "ALLOW" is supported
4432
+ """
4433
+ attribute_name: pulumi.Input[_builtins.str]
4434
+ """
4435
+ The name of the primary attribute.
4436
+ """
4437
+ values: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
4438
+ """
4439
+ An array of allowed primary values for the specified primary attribute.
4440
+ """
4441
+ elif False:
4442
+ SecurityProfilePrimaryAttributeValueArgsDict: TypeAlias = Mapping[str, Any]
4443
+
4444
+ @pulumi.input_type
4445
+ class SecurityProfilePrimaryAttributeValueArgs:
4446
+ def __init__(__self__, *,
4447
+ access_type: pulumi.Input['SecurityProfilePrimaryAttributeValueAccessType'],
4448
+ attribute_name: pulumi.Input[_builtins.str],
4449
+ values: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
4450
+ """
4451
+ An object defining the access control for a specific attribute and its values.
4452
+ :param pulumi.Input['SecurityProfilePrimaryAttributeValueAccessType'] access_type: Specifies the type of access granted. Currently, only "ALLOW" is supported
4453
+ :param pulumi.Input[_builtins.str] attribute_name: The name of the primary attribute.
4454
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] values: An array of allowed primary values for the specified primary attribute.
4455
+ """
4456
+ pulumi.set(__self__, "access_type", access_type)
4457
+ pulumi.set(__self__, "attribute_name", attribute_name)
4458
+ pulumi.set(__self__, "values", values)
4459
+
4460
+ @_builtins.property
4461
+ @pulumi.getter(name="accessType")
4462
+ def access_type(self) -> pulumi.Input['SecurityProfilePrimaryAttributeValueAccessType']:
4463
+ """
4464
+ Specifies the type of access granted. Currently, only "ALLOW" is supported
4465
+ """
4466
+ return pulumi.get(self, "access_type")
4467
+
4468
+ @access_type.setter
4469
+ def access_type(self, value: pulumi.Input['SecurityProfilePrimaryAttributeValueAccessType']):
4470
+ pulumi.set(self, "access_type", value)
4471
+
4472
+ @_builtins.property
4473
+ @pulumi.getter(name="attributeName")
4474
+ def attribute_name(self) -> pulumi.Input[_builtins.str]:
4475
+ """
4476
+ The name of the primary attribute.
4477
+ """
4478
+ return pulumi.get(self, "attribute_name")
4479
+
4480
+ @attribute_name.setter
4481
+ def attribute_name(self, value: pulumi.Input[_builtins.str]):
4482
+ pulumi.set(self, "attribute_name", value)
4483
+
4484
+ @_builtins.property
4485
+ @pulumi.getter
4486
+ def values(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
4487
+ """
4488
+ An array of allowed primary values for the specified primary attribute.
4489
+ """
4490
+ return pulumi.get(self, "values")
4491
+
4492
+ @values.setter
4493
+ def values(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
4494
+ pulumi.set(self, "values", value)
4495
+
4496
+
4329
4497
  if not MYPY:
4330
4498
  class SecurityProfileTagArgsDict(TypedDict):
4331
4499
  """
@@ -15,6 +15,7 @@ else:
15
15
  from .. import _utilities
16
16
  from . import outputs
17
17
  from .. import outputs as _root_outputs
18
+ from ._enums import *
18
19
 
19
20
  __all__ = [
20
21
  'GetSecurityProfileResult',
@@ -25,7 +26,7 @@ __all__ = [
25
26
 
26
27
  @pulumi.output_type
27
28
  class GetSecurityProfileResult:
28
- def __init__(__self__, allowed_access_control_hierarchy_group_id=None, allowed_access_control_tags=None, applications=None, description=None, hierarchy_restricted_resources=None, last_modified_region=None, last_modified_time=None, permissions=None, security_profile_arn=None, tag_restricted_resources=None, tags=None):
29
+ def __init__(__self__, allowed_access_control_hierarchy_group_id=None, allowed_access_control_tags=None, applications=None, description=None, granular_access_control_configuration=None, hierarchy_restricted_resources=None, last_modified_region=None, last_modified_time=None, permissions=None, security_profile_arn=None, tag_restricted_resources=None, tags=None):
29
30
  if allowed_access_control_hierarchy_group_id and not isinstance(allowed_access_control_hierarchy_group_id, str):
30
31
  raise TypeError("Expected argument 'allowed_access_control_hierarchy_group_id' to be a str")
31
32
  pulumi.set(__self__, "allowed_access_control_hierarchy_group_id", allowed_access_control_hierarchy_group_id)
@@ -38,6 +39,9 @@ class GetSecurityProfileResult:
38
39
  if description and not isinstance(description, str):
39
40
  raise TypeError("Expected argument 'description' to be a str")
40
41
  pulumi.set(__self__, "description", description)
42
+ if granular_access_control_configuration and not isinstance(granular_access_control_configuration, dict):
43
+ raise TypeError("Expected argument 'granular_access_control_configuration' to be a dict")
44
+ pulumi.set(__self__, "granular_access_control_configuration", granular_access_control_configuration)
41
45
  if hierarchy_restricted_resources and not isinstance(hierarchy_restricted_resources, list):
42
46
  raise TypeError("Expected argument 'hierarchy_restricted_resources' to be a list")
43
47
  pulumi.set(__self__, "hierarchy_restricted_resources", hierarchy_restricted_resources)
@@ -92,6 +96,11 @@ class GetSecurityProfileResult:
92
96
  """
93
97
  return pulumi.get(self, "description")
94
98
 
99
+ @_builtins.property
100
+ @pulumi.getter(name="granularAccessControlConfiguration")
101
+ def granular_access_control_configuration(self) -> Optional['outputs.GranularAccessControlConfigurationProperties']:
102
+ return pulumi.get(self, "granular_access_control_configuration")
103
+
95
104
  @_builtins.property
96
105
  @pulumi.getter(name="hierarchyRestrictedResources")
97
106
  def hierarchy_restricted_resources(self) -> Optional[Sequence[_builtins.str]]:
@@ -159,6 +168,7 @@ class AwaitableGetSecurityProfileResult(GetSecurityProfileResult):
159
168
  allowed_access_control_tags=self.allowed_access_control_tags,
160
169
  applications=self.applications,
161
170
  description=self.description,
171
+ granular_access_control_configuration=self.granular_access_control_configuration,
162
172
  hierarchy_restricted_resources=self.hierarchy_restricted_resources,
163
173
  last_modified_region=self.last_modified_region,
164
174
  last_modified_time=self.last_modified_time,
@@ -186,6 +196,7 @@ def get_security_profile(security_profile_arn: Optional[_builtins.str] = None,
186
196
  allowed_access_control_tags=pulumi.get(__ret__, 'allowed_access_control_tags'),
187
197
  applications=pulumi.get(__ret__, 'applications'),
188
198
  description=pulumi.get(__ret__, 'description'),
199
+ granular_access_control_configuration=pulumi.get(__ret__, 'granular_access_control_configuration'),
189
200
  hierarchy_restricted_resources=pulumi.get(__ret__, 'hierarchy_restricted_resources'),
190
201
  last_modified_region=pulumi.get(__ret__, 'last_modified_region'),
191
202
  last_modified_time=pulumi.get(__ret__, 'last_modified_time'),
@@ -210,6 +221,7 @@ def get_security_profile_output(security_profile_arn: Optional[pulumi.Input[_bui
210
221
  allowed_access_control_tags=pulumi.get(__response__, 'allowed_access_control_tags'),
211
222
  applications=pulumi.get(__response__, 'applications'),
212
223
  description=pulumi.get(__response__, 'description'),
224
+ granular_access_control_configuration=pulumi.get(__response__, 'granular_access_control_configuration'),
213
225
  hierarchy_restricted_resources=pulumi.get(__response__, 'hierarchy_restricted_resources'),
214
226
  last_modified_region=pulumi.get(__response__, 'last_modified_region'),
215
227
  last_modified_time=pulumi.get(__response__, 'last_modified_time'),