Class: AWSCDK::AppSync::CfnAPICacheProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_sync/cfn_api_cache_props.rb

Overview

Properties for defining a CfnApiCache.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_caching_behavior:, api_id:, ttl:, type:, at_rest_encryption_enabled: nil, health_metrics_config: nil, transit_encryption_enabled: nil) ⇒ CfnAPICacheProps

Returns a new instance of CfnAPICacheProps.

Parameters:

  • api_caching_behavior (String)

    Caching behavior.

  • api_id (String)

    The GraphQL API ID.

  • ttl (Numeric)

    TTL in seconds for cache entries.

  • type (String)

    The cache instance type. Valid values are.

  • at_rest_encryption_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    This parameter has been deprecated .

  • health_metrics_config (String, nil) (defaults to: nil)

    Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:.

  • transit_encryption_enabled (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    This parameter has been deprecated .



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app_sync/cfn_api_cache_props.rb', line 16

def initialize(api_caching_behavior:, api_id:, ttl:, type:, at_rest_encryption_enabled: nil, health_metrics_config: nil, transit_encryption_enabled: nil)
  @api_caching_behavior = api_caching_behavior
  Jsii::Type.check_type(@api_caching_behavior, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "apiCachingBehavior")
  @api_id = api_id
  Jsii::Type.check_type(@api_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "apiId")
  @ttl = ttl
  Jsii::Type.check_type(@ttl, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "ttl")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @at_rest_encryption_enabled = at_rest_encryption_enabled
  Jsii::Type.check_type(@at_rest_encryption_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "atRestEncryptionEnabled") unless @at_rest_encryption_enabled.nil?
  @health_metrics_config = health_metrics_config
  Jsii::Type.check_type(@health_metrics_config, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "healthMetricsConfig") unless @health_metrics_config.nil?
  @transit_encryption_enabled = transit_encryption_enabled
  Jsii::Type.check_type(@transit_encryption_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "transitEncryptionEnabled") unless @transit_encryption_enabled.nil?
end

Instance Attribute Details

#api_caching_behaviorString (readonly)

Caching behavior.

  • FULL_REQUEST_CACHING : All requests from the same user are cached. Individual resolvers are automatically cached. All API calls will try to return responses from the cache.
  • PER_RESOLVER_CACHING : Individual resolvers that you specify are cached.
  • OPERATION_LEVEL_CACHING : Full requests are cached together and returned without executing resolvers.


41
42
43
# File 'app_sync/cfn_api_cache_props.rb', line 41

def api_caching_behavior
  @api_caching_behavior
end

#api_idString (readonly)

The GraphQL API ID.



46
47
48
# File 'app_sync/cfn_api_cache_props.rb', line 46

def api_id
  @api_id
end

#at_rest_encryption_enabledBoolean, ... (readonly)

This parameter has been deprecated .

At-rest encryption flag for cache. You cannot update this setting after creation.



86
87
88
# File 'app_sync/cfn_api_cache_props.rb', line 86

def at_rest_encryption_enabled
  @at_rest_encryption_enabled
end

#health_metrics_configString? (readonly)

Controls how cache health metrics will be emitted to CloudWatch. Cache health metrics include:.

  • NetworkBandwidthOutAllowanceExceeded : The network packets dropped because the throughput exceeded the aggregated bandwidth limit. This is useful for diagnosing bottlenecks in a cache configuration.
  • EngineCPUUtilization : The CPU utilization (percentage) allocated to the Redis process. This is useful for diagnosing bottlenecks in a cache configuration.

Metrics will be recorded by API ID. You can set the value to ENABLED or DISABLED .



96
97
98
# File 'app_sync/cfn_api_cache_props.rb', line 96

def health_metrics_config
  @health_metrics_config
end

#transit_encryption_enabledBoolean, ... (readonly)

This parameter has been deprecated .

Transit encryption flag when connecting to cache. You cannot update this setting after creation.



103
104
105
# File 'app_sync/cfn_api_cache_props.rb', line 103

def transit_encryption_enabled
  @transit_encryption_enabled
end

#ttlNumeric (readonly)

TTL in seconds for cache entries.

Valid values are 1–3,600 seconds.



53
54
55
# File 'app_sync/cfn_api_cache_props.rb', line 53

def ttl
  @ttl
end

#typeString (readonly)

The cache instance type. Valid values are.

  • SMALL
  • MEDIUM
  • LARGE
  • XLARGE
  • LARGE_2X
  • LARGE_4X
  • LARGE_8X (not available in all regions)
  • LARGE_12X

Historically, instance types were identified by an EC2-style value. As of July 2020, this is deprecated, and the generic identifiers above should be used.

The following legacy instance types are available, but their use is discouraged:

  • T2_SMALL : A t2.small instance type.
  • T2_MEDIUM : A t2.medium instance type.
  • R4_LARGE : A r4.large instance type.
  • R4_XLARGE : A r4.xlarge instance type.
  • R4_2XLARGE : A r4.2xlarge instance type.
  • R4_4XLARGE : A r4.4xlarge instance type.
  • R4_8XLARGE : A r4.8xlarge instance type.


79
80
81
# File 'app_sync/cfn_api_cache_props.rb', line 79

def type
  @type
end

Class Method Details

.jsii_propertiesObject



105
106
107
108
109
110
111
112
113
114
115
# File 'app_sync/cfn_api_cache_props.rb', line 105

def self.jsii_properties
  {
    :api_caching_behavior => "apiCachingBehavior",
    :api_id => "apiId",
    :ttl => "ttl",
    :type => "type",
    :at_rest_encryption_enabled => "atRestEncryptionEnabled",
    :health_metrics_config => "healthMetricsConfig",
    :transit_encryption_enabled => "transitEncryptionEnabled",
  }
end

Instance Method Details

#to_jsiiObject



117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'app_sync/cfn_api_cache_props.rb', line 117

def to_jsii
  result = {}
  result.merge!({
    "apiCachingBehavior" => @api_caching_behavior,
    "apiId" => @api_id,
    "ttl" => @ttl,
    "type" => @type,
    "atRestEncryptionEnabled" => @at_rest_encryption_enabled,
    "healthMetricsConfig" => @health_metrics_config,
    "transitEncryptionEnabled" => @transit_encryption_enabled,
  })
  result.compact
end