/
kafkaAcl.go
134 lines (120 loc) · 4.13 KB
/
kafkaAcl.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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package aiven
import (
"github.com/pkg/errors"
"github.com/pulumi/pulumi/sdk/go/pulumi"
)
type KafkaAcl struct {
s *pulumi.ResourceState
}
// NewKafkaAcl registers a new resource with the given unique name, arguments, and options.
func NewKafkaAcl(ctx *pulumi.Context,
name string, args *KafkaAclArgs, opts ...pulumi.ResourceOpt) (*KafkaAcl, error) {
if args == nil || args.Permission == nil {
return nil, errors.New("missing required argument 'Permission'")
}
if args == nil || args.Project == nil {
return nil, errors.New("missing required argument 'Project'")
}
if args == nil || args.ServiceName == nil {
return nil, errors.New("missing required argument 'ServiceName'")
}
if args == nil || args.Topic == nil {
return nil, errors.New("missing required argument 'Topic'")
}
if args == nil || args.Username == nil {
return nil, errors.New("missing required argument 'Username'")
}
inputs := make(map[string]interface{})
if args == nil {
inputs["permission"] = nil
inputs["project"] = nil
inputs["serviceName"] = nil
inputs["topic"] = nil
inputs["username"] = nil
} else {
inputs["permission"] = args.Permission
inputs["project"] = args.Project
inputs["serviceName"] = args.ServiceName
inputs["topic"] = args.Topic
inputs["username"] = args.Username
}
s, err := ctx.RegisterResource("aiven:index/kafkaAcl:KafkaAcl", name, true, inputs, opts...)
if err != nil {
return nil, err
}
return &KafkaAcl{s: s}, nil
}
// GetKafkaAcl gets an existing KafkaAcl resource's state with the given name, ID, and optional
// state properties that are used to uniquely qualify the lookup (nil if not required).
func GetKafkaAcl(ctx *pulumi.Context,
name string, id pulumi.ID, state *KafkaAclState, opts ...pulumi.ResourceOpt) (*KafkaAcl, error) {
inputs := make(map[string]interface{})
if state != nil {
inputs["permission"] = state.Permission
inputs["project"] = state.Project
inputs["serviceName"] = state.ServiceName
inputs["topic"] = state.Topic
inputs["username"] = state.Username
}
s, err := ctx.ReadResource("aiven:index/kafkaAcl:KafkaAcl", name, id, inputs, opts...)
if err != nil {
return nil, err
}
return &KafkaAcl{s: s}, nil
}
// URN is this resource's unique name assigned by Pulumi.
func (r *KafkaAcl) URN() pulumi.URNOutput {
return r.s.URN()
}
// ID is this resource's unique identifier assigned by its provider.
func (r *KafkaAcl) ID() pulumi.IDOutput {
return r.s.ID()
}
// Kafka permission to grant (admin, read, readwrite, write)
func (r *KafkaAcl) Permission() pulumi.StringOutput {
return (pulumi.StringOutput)(r.s.State["permission"])
}
// Project to link the Kafka ACL to
func (r *KafkaAcl) Project() pulumi.StringOutput {
return (pulumi.StringOutput)(r.s.State["project"])
}
// Service to link the Kafka ACL to
func (r *KafkaAcl) ServiceName() pulumi.StringOutput {
return (pulumi.StringOutput)(r.s.State["serviceName"])
}
// Topic name pattern for the ACL entry
func (r *KafkaAcl) Topic() pulumi.StringOutput {
return (pulumi.StringOutput)(r.s.State["topic"])
}
// Username pattern for the ACL entry
func (r *KafkaAcl) Username() pulumi.StringOutput {
return (pulumi.StringOutput)(r.s.State["username"])
}
// Input properties used for looking up and filtering KafkaAcl resources.
type KafkaAclState struct {
// Kafka permission to grant (admin, read, readwrite, write)
Permission interface{}
// Project to link the Kafka ACL to
Project interface{}
// Service to link the Kafka ACL to
ServiceName interface{}
// Topic name pattern for the ACL entry
Topic interface{}
// Username pattern for the ACL entry
Username interface{}
}
// The set of arguments for constructing a KafkaAcl resource.
type KafkaAclArgs struct {
// Kafka permission to grant (admin, read, readwrite, write)
Permission interface{}
// Project to link the Kafka ACL to
Project interface{}
// Service to link the Kafka ACL to
ServiceName interface{}
// Topic name pattern for the ACL entry
Topic interface{}
// Username pattern for the ACL entry
Username interface{}
}