-
Notifications
You must be signed in to change notification settings - Fork 17
/
CfnRuleProps.go
109 lines (106 loc) · 4.24 KB
/
CfnRuleProps.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package awsvpclattice
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
)
// Properties for defining a `CfnRule`.
//
// Example:
// // The code below shows an example of how to instantiate this type.
// // The values are placeholders you should change.
// import "github.com/aws/aws-cdk-go/awscdk"
//
// cfnRuleProps := &CfnRuleProps{
// Action: &ActionProperty{
// FixedResponse: &FixedResponseProperty{
// StatusCode: jsii.Number(123),
// },
// Forward: &ForwardProperty{
// TargetGroups: []interface{}{
// &WeightedTargetGroupProperty{
// TargetGroupIdentifier: jsii.String("targetGroupIdentifier"),
//
// // the properties below are optional
// Weight: jsii.Number(123),
// },
// },
// },
// },
// Match: &MatchProperty{
// HttpMatch: &HttpMatchProperty{
// HeaderMatches: []interface{}{
// &HeaderMatchProperty{
// Match: &HeaderMatchTypeProperty{
// Contains: jsii.String("contains"),
// Exact: jsii.String("exact"),
// Prefix: jsii.String("prefix"),
// },
// Name: jsii.String("name"),
//
// // the properties below are optional
// CaseSensitive: jsii.Boolean(false),
// },
// },
// Method: jsii.String("method"),
// PathMatch: &PathMatchProperty{
// Match: &PathMatchTypeProperty{
// Exact: jsii.String("exact"),
// Prefix: jsii.String("prefix"),
// },
//
// // the properties below are optional
// CaseSensitive: jsii.Boolean(false),
// },
// },
// },
// Priority: jsii.Number(123),
//
// // the properties below are optional
// ListenerIdentifier: jsii.String("listenerIdentifier"),
// Name: jsii.String("name"),
// ServiceIdentifier: jsii.String("serviceIdentifier"),
// Tags: []cfnTag{
// &cfnTag{
// Key: jsii.String("key"),
// Value: jsii.String("value"),
// },
// },
// }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html
//
type CfnRuleProps struct {
// Describes the action for a rule.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-action
//
Action interface{} `field:"required" json:"action" yaml:"action"`
// The rule match.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-match
//
Match interface{} `field:"required" json:"match" yaml:"match"`
// The priority assigned to the rule.
//
// Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-priority
//
Priority *float64 `field:"required" json:"priority" yaml:"priority"`
// The ID or Amazon Resource Name (ARN) of the listener.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-listeneridentifier
//
ListenerIdentifier *string `field:"optional" json:"listenerIdentifier" yaml:"listenerIdentifier"`
// The name of the rule.
//
// The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.
//
// If you don't specify a name, CloudFormation generates one. However, if you specify a name, and later want to replace the resource, you must specify a new name.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
// The ID or Amazon Resource Name (ARN) of the service.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-serviceidentifier
//
ServiceIdentifier *string `field:"optional" json:"serviceIdentifier" yaml:"serviceIdentifier"`
// The tags for the rule.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-vpclattice-rule.html#cfn-vpclattice-rule-tags
//
Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}