Class: AWSCDK::CleanRooms::CfnPrivacyBudgetTemplateProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
clean_rooms/cfn_privacy_budget_template_props.rb

Overview

Properties for defining a CfnPrivacyBudgetTemplate.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auto_refresh:, membership_identifier:, parameters:, privacy_budget_type:, tags: nil) ⇒ CfnPrivacyBudgetTemplateProps

Returns a new instance of CfnPrivacyBudgetTemplateProps.

Parameters:

  • auto_refresh (String)

    How often the privacy budget refreshes.

  • membership_identifier (String)

    The identifier for a membership resource.

  • parameters (AWSCDK::IResolvable, AWSCDK::CleanRooms::CfnPrivacyBudgetTemplate::ParametersProperty)

    Specifies the epsilon and noise parameters for the privacy budget template.

  • privacy_budget_type (String)

    Specifies the type of the privacy budget template.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    An optional label that you can assign to a resource when you create it.



14
15
16
17
18
19
20
21
22
23
24
25
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 14

def initialize(auto_refresh:, membership_identifier:, parameters:, privacy_budget_type:, tags: nil)
  @auto_refresh = auto_refresh
  Jsii::Type.check_type(@auto_refresh, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "autoRefresh")
  @membership_identifier = membership_identifier
  Jsii::Type.check_type(@membership_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "membershipIdentifier")
  @parameters = parameters.is_a?(Hash) ? ::AWSCDK::CleanRooms::CfnPrivacyBudgetTemplate::ParametersProperty.new(**parameters.transform_keys(&:to_sym)) : parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19jbGVhbnJvb21zLkNmblByaXZhY3lCdWRnZXRUZW1wbGF0ZS5QYXJhbWV0ZXJzUHJvcGVydHkifV19fQ==")), "parameters")
  @privacy_budget_type = privacy_budget_type
  Jsii::Type.check_type(@privacy_budget_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "privacyBudgetType")
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#auto_refreshString (readonly)

How often the privacy budget refreshes.

If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.



33
34
35
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 33

def auto_refresh
  @auto_refresh
end

#membership_identifierString (readonly)

The identifier for a membership resource.



38
39
40
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 38

def membership_identifier
  @membership_identifier
end

#parametersAWSCDK::IResolvable, AWSCDK::CleanRooms::CfnPrivacyBudgetTemplate::ParametersProperty (readonly)

Specifies the epsilon and noise parameters for the privacy budget template.



43
44
45
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 43

def parameters
  @parameters
end

#privacy_budget_typeString (readonly)

Specifies the type of the privacy budget template.



48
49
50
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 48

def privacy_budget_type
  @privacy_budget_type
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An optional label that you can assign to a resource when you create it.

Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.



55
56
57
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 55

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



57
58
59
60
61
62
63
64
65
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 57

def self.jsii_properties
  {
    :auto_refresh => "autoRefresh",
    :membership_identifier => "membershipIdentifier",
    :parameters => "parameters",
    :privacy_budget_type => "privacyBudgetType",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



67
68
69
70
71
72
73
74
75
76
77
# File 'clean_rooms/cfn_privacy_budget_template_props.rb', line 67

def to_jsii
  result = {}
  result.merge!({
    "autoRefresh" => @auto_refresh,
    "membershipIdentifier" => @membership_identifier,
    "parameters" => @parameters,
    "privacyBudgetType" => @privacy_budget_type,
    "tags" => @tags,
  })
  result.compact
end