/
awscdkcontainersecsserviceextensions_InjectableTopic.go
92 lines (75 loc) · 2.02 KB
/
awscdkcontainersecsserviceextensions_InjectableTopic.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
// The CDK Construct Library that helps you build ECS services using simple extensions
package awscdkcontainersecsserviceextensions
import (
_jsii_ "github.com/aws/jsii-runtime-go/runtime"
_init_ "github.com/cdklabs/cdk-ecs-service-extensions-go/awscdkcontainersecsserviceextensions/v2/jsii"
"github.com/aws/aws-cdk-go/awscdk/v2/awsecs"
"github.com/aws/aws-cdk-go/awscdk/v2/awssns"
)
// The `InjectableTopic` class represents SNS Topic resource that can be published events to by the parent service.
// Experimental.
type InjectableTopic interface {
IGrantInjectable
// Experimental.
Topic() awssns.ITopic
// Experimental.
EnvironmentVariables() *map[string]*string
// Experimental.
Grant(taskDefinition awsecs.TaskDefinition)
}
// The jsii proxy struct for InjectableTopic
type jsiiProxy_InjectableTopic struct {
jsiiProxy_IGrantInjectable
}
func (j *jsiiProxy_InjectableTopic) Topic() awssns.ITopic {
var returns awssns.ITopic
_jsii_.Get(
j,
"topic",
&returns,
)
return returns
}
// Experimental.
func NewInjectableTopic(props *InjectableTopicProps) InjectableTopic {
_init_.Initialize()
if err := validateNewInjectableTopicParameters(props); err != nil {
panic(err)
}
j := jsiiProxy_InjectableTopic{}
_jsii_.Create(
"@aws-cdk-containers/ecs-service-extensions.InjectableTopic",
[]interface{}{props},
&j,
)
return &j
}
// Experimental.
func NewInjectableTopic_Override(i InjectableTopic, props *InjectableTopicProps) {
_init_.Initialize()
_jsii_.Create(
"@aws-cdk-containers/ecs-service-extensions.InjectableTopic",
[]interface{}{props},
i,
)
}
func (i *jsiiProxy_InjectableTopic) EnvironmentVariables() *map[string]*string {
var returns *map[string]*string
_jsii_.Invoke(
i,
"environmentVariables",
nil, // no parameters
&returns,
)
return returns
}
func (i *jsiiProxy_InjectableTopic) Grant(taskDefinition awsecs.TaskDefinition) {
if err := i.validateGrantParameters(taskDefinition); err != nil {
panic(err)
}
_jsii_.InvokeVoid(
i,
"grant",
[]interface{}{taskDefinition},
)
}