Class: AWSCDK::NeptuneGraph::CfnGraphProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
neptune_graph/cfn_graph_props.rb

Overview

Properties for defining a CfnGraph.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(provisioned_memory:, deletion_protection: nil, graph_name: nil, kms_key_identifier: nil, public_connectivity: nil, replica_count: nil, tags: nil, vector_search_configuration: nil) ⇒ CfnGraphProps

Returns a new instance of CfnGraphProps.

Parameters:

  • provisioned_memory (Numeric)

    The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.

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

    A value that indicates whether the graph has deletion protection enabled.

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

    The graph name. For example: my-graph-1 .

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

    The ARN of the KMS key used to encrypt data in the Neptune Analytics graph.

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

    Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated.

  • replica_count (Numeric, nil) (defaults to: nil)

    The number of replicas in other AZs.

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

    Adds metadata tags to the new graph.

  • vector_search_configuration (AWSCDK::IResolvable, AWSCDK::NeptuneGraph::CfnGraph::VectorSearchConfigurationProperty, nil) (defaults to: nil)

    Specifies the number of dimensions for vector embeddings that will be loaded into the graph.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'neptune_graph/cfn_graph_props.rb', line 17

def initialize(provisioned_memory:, deletion_protection: nil, graph_name: nil, kms_key_identifier: nil, public_connectivity: nil, replica_count: nil, tags: nil, vector_search_configuration: nil)
  @provisioned_memory = provisioned_memory
  Jsii::Type.check_type(@provisioned_memory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "provisionedMemory")
  @deletion_protection = deletion_protection
  Jsii::Type.check_type(@deletion_protection, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "deletionProtection") unless @deletion_protection.nil?
  @graph_name = graph_name
  Jsii::Type.check_type(@graph_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "graphName") unless @graph_name.nil?
  @kms_key_identifier = kms_key_identifier
  Jsii::Type.check_type(@kms_key_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyIdentifier") unless @kms_key_identifier.nil?
  @public_connectivity = public_connectivity
  Jsii::Type.check_type(@public_connectivity, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publicConnectivity") unless @public_connectivity.nil?
  @replica_count = replica_count
  Jsii::Type.check_type(@replica_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "replicaCount") unless @replica_count.nil?
  @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?
  @vector_search_configuration = vector_search_configuration.is_a?(Hash) ? ::AWSCDK::NeptuneGraph::CfnGraph::VectorSearchConfigurationProperty.new(**vector_search_configuration.transform_keys(&:to_sym)) : vector_search_configuration
  Jsii::Type.check_type(@vector_search_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19uZXB0dW5lZ3JhcGguQ2ZuR3JhcGguVmVjdG9yU2VhcmNoQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "vectorSearchConfiguration") unless @vector_search_configuration.nil?
end

Instance Attribute Details

#deletion_protectionBoolean, ... (readonly)

A value that indicates whether the graph has deletion protection enabled.

The graph can't be deleted when deletion protection is enabled.



49
50
51
# File 'neptune_graph/cfn_graph_props.rb', line 49

def deletion_protection
  @deletion_protection
end

#graph_nameString? (readonly)

The graph name. For example: my-graph-1 .

The name must contain from 1 to 63 letters, numbers, or hyphens, and its first character must be a letter. It cannot end with a hyphen or contain two consecutive hyphens.

If you don't specify a graph name, a unique graph name is generated for you using the prefix graph-for , followed by a combination of Stack Name and a UUID .



58
59
60
# File 'neptune_graph/cfn_graph_props.rb', line 58

def graph_name
  @graph_name
end

#kms_key_identifierString? (readonly)

The ARN of the KMS key used to encrypt data in the Neptune Analytics graph.

If not specified, the graph is encrypted with an AWS managed key.



65
66
67
# File 'neptune_graph/cfn_graph_props.rb', line 65

def kms_key_identifier
  @kms_key_identifier
end

#provisioned_memoryNumeric (readonly)

The provisioned memory-optimized Neptune Capacity Units (m-NCUs) to use for the graph.

Min = 16



42
43
44
# File 'neptune_graph/cfn_graph_props.rb', line 42

def provisioned_memory
  @provisioned_memory
end

#public_connectivityBoolean, ... (readonly)

Specifies whether or not the graph can be reachable over the internet. All access to graphs is IAM authenticated.

When the graph is publicly available, its domain name system (DNS) endpoint resolves to the public IP address from the internet. When the graph isn't publicly available, you need to create a PrivateGraphEndpoint in a given VPC to ensure the DNS name resolves to a private IP address that is reachable from the VPC.

Default: If not specified, the default value is false.

If enabling public connectivity for the first time, there will be a delay while it is enabled.



76
77
78
# File 'neptune_graph/cfn_graph_props.rb', line 76

def public_connectivity
  @public_connectivity
end

#replica_countNumeric? (readonly)

The number of replicas in other AZs.

Default: If not specified, the default value is 1.



83
84
85
# File 'neptune_graph/cfn_graph_props.rb', line 83

def replica_count
  @replica_count
end

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

Adds metadata tags to the new graph.

These tags can also be used with cost allocation reporting, or used in a Condition statement in an IAM policy.



90
91
92
# File 'neptune_graph/cfn_graph_props.rb', line 90

def tags
  @tags
end

#vector_search_configurationAWSCDK::IResolvable, ... (readonly)

Specifies the number of dimensions for vector embeddings that will be loaded into the graph.

The value is specified as dimension= value. Max = 65,535



97
98
99
# File 'neptune_graph/cfn_graph_props.rb', line 97

def vector_search_configuration
  @vector_search_configuration
end

Class Method Details

.jsii_propertiesObject



99
100
101
102
103
104
105
106
107
108
109
110
# File 'neptune_graph/cfn_graph_props.rb', line 99

def self.jsii_properties
  {
    :provisioned_memory => "provisionedMemory",
    :deletion_protection => "deletionProtection",
    :graph_name => "graphName",
    :kms_key_identifier => "kmsKeyIdentifier",
    :public_connectivity => "publicConnectivity",
    :replica_count => "replicaCount",
    :tags => "tags",
    :vector_search_configuration => "vectorSearchConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'neptune_graph/cfn_graph_props.rb', line 112

def to_jsii
  result = {}
  result.merge!({
    "provisionedMemory" => @provisioned_memory,
    "deletionProtection" => @deletion_protection,
    "graphName" => @graph_name,
    "kmsKeyIdentifier" => @kms_key_identifier,
    "publicConnectivity" => @public_connectivity,
    "replicaCount" => @replica_count,
    "tags" => @tags,
    "vectorSearchConfiguration" => @vector_search_configuration,
  })
  result.compact
end