Class: AWSCDK::AppMesh::RouteSpecConfig

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_mesh/route_spec_config.rb

Overview

All Properties for Route Specs.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(grpc_route_spec: nil, http2_route_spec: nil, http_route_spec: nil, priority: nil, tcp_route_spec: nil) ⇒ RouteSpecConfig

Returns a new instance of RouteSpecConfig.

Parameters:



12
13
14
15
16
17
18
19
20
21
22
23
# File 'app_mesh/route_spec_config.rb', line 12

def initialize(grpc_route_spec: nil, http2_route_spec: nil, http_route_spec: nil, priority: nil, tcp_route_spec: nil)
  @grpc_route_spec = grpc_route_spec.is_a?(Hash) ? ::AWSCDK::AppMesh::CfnRoute::GrpcRouteProperty.new(**grpc_route_spec.transform_keys(&:to_sym)) : grpc_route_spec
  Jsii::Type.check_type(@grpc_route_spec, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbWVzaC5DZm5Sb3V0ZS5HcnBjUm91dGVQcm9wZXJ0eSJ9")), "grpcRouteSpec") unless @grpc_route_spec.nil?
  @http2_route_spec = http2_route_spec.is_a?(Hash) ? ::AWSCDK::AppMesh::CfnRoute::HttpRouteProperty.new(**http2_route_spec.transform_keys(&:to_sym)) : http2_route_spec
  Jsii::Type.check_type(@http2_route_spec, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbWVzaC5DZm5Sb3V0ZS5IdHRwUm91dGVQcm9wZXJ0eSJ9")), "http2RouteSpec") unless @http2_route_spec.nil?
  @http_route_spec = http_route_spec.is_a?(Hash) ? ::AWSCDK::AppMesh::CfnRoute::HttpRouteProperty.new(**http_route_spec.transform_keys(&:to_sym)) : http_route_spec
  Jsii::Type.check_type(@http_route_spec, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbWVzaC5DZm5Sb3V0ZS5IdHRwUm91dGVQcm9wZXJ0eSJ9")), "httpRouteSpec") unless @http_route_spec.nil?
  @priority = priority
  Jsii::Type.check_type(@priority, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "priority") unless @priority.nil?
  @tcp_route_spec = tcp_route_spec.is_a?(Hash) ? ::AWSCDK::AppMesh::CfnRoute::TCPRouteProperty.new(**tcp_route_spec.transform_keys(&:to_sym)) : tcp_route_spec
  Jsii::Type.check_type(@tcp_route_spec, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbWVzaC5DZm5Sb3V0ZS5UY3BSb3V0ZVByb3BlcnR5In0=")), "tcpRouteSpec") unless @tcp_route_spec.nil?
end

Instance Attribute Details

#grpc_route_specAWSCDK::AppMesh::CfnRoute::GrpcRouteProperty? (readonly)

Note:

Default: - no grpc spec

The spec for a grpc route.



29
30
31
# File 'app_mesh/route_spec_config.rb', line 29

def grpc_route_spec
  @grpc_route_spec
end

#http2_route_specAWSCDK::AppMesh::CfnRoute::HttpRouteProperty? (readonly)

Note:

Default: - no http2 spec

The spec for an http2 route.



34
35
36
# File 'app_mesh/route_spec_config.rb', line 34

def http2_route_spec
  @http2_route_spec
end

#http_route_specAWSCDK::AppMesh::CfnRoute::HttpRouteProperty? (readonly)

Note:

Default: - no http spec

The spec for an http route.



39
40
41
# File 'app_mesh/route_spec_config.rb', line 39

def http_route_spec
  @http_route_spec
end

#priorityNumeric? (readonly)

Note:

Default: - no particular priority

The priority for the route.

When a Virtual Router has multiple routes, route match is performed in the order of specified value, where 0 is the highest priority, and first matched route is selected.

Returns:

  • (Numeric, nil)


47
48
49
# File 'app_mesh/route_spec_config.rb', line 47

def priority
  @priority
end

#tcp_route_specAWSCDK::AppMesh::CfnRoute::TCPRouteProperty? (readonly)

Note:

Default: - no tcp spec

The spec for a tcp route.



52
53
54
# File 'app_mesh/route_spec_config.rb', line 52

def tcp_route_spec
  @tcp_route_spec
end

Class Method Details

.jsii_propertiesObject



54
55
56
57
58
59
60
61
62
# File 'app_mesh/route_spec_config.rb', line 54

def self.jsii_properties
  {
    :grpc_route_spec => "grpcRouteSpec",
    :http2_route_spec => "http2RouteSpec",
    :http_route_spec => "httpRouteSpec",
    :priority => "priority",
    :tcp_route_spec => "tcpRouteSpec",
  }
end

Instance Method Details

#to_jsiiObject



64
65
66
67
68
69
70
71
72
73
74
# File 'app_mesh/route_spec_config.rb', line 64

def to_jsii
  result = {}
  result.merge!({
    "grpcRouteSpec" => @grpc_route_spec,
    "http2RouteSpec" => @http2_route_spec,
    "httpRouteSpec" => @http_route_spec,
    "priority" => @priority,
    "tcpRouteSpec" => @tcp_route_spec,
  })
  result.compact
end