/
topicAuthorizationRule.ts
235 lines (229 loc) · 10.2 KB
/
topicAuthorizationRule.ts
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
// *** 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! ***
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "../utilities";
/**
* Manages a ServiceBus Topic authorization Rule within a ServiceBus Topic.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
*
* const exampleResourceGroup = new azure.core.ResourceGroup("example", {
* location: "West US",
* name: "tfex-servicebus",
* });
* const exampleNamespace = new azure.eventhub.Namespace("example", {
* location: exampleResourceGroup.location,
* name: "tfex_servicebus_namespace",
* resourceGroupName: exampleResourceGroup.name,
* sku: "Standard",
* tags: {
* source: "terraform",
* },
* });
* const exampleTopic = new azure.eventhub.Topic("example", {
* name: "tfex_servicebus_topic",
* namespaceName: exampleNamespace.name,
* resourceGroupName: exampleResourceGroup.name,
* });
* const exampleTopicAuthorizationRule = new azure.eventhub.TopicAuthorizationRule("example", {
* listen: true,
* manage: false,
* name: "tfex_servicebus_topic_sasPolicy",
* namespaceName: exampleNamespace.name,
* resourceGroupName: exampleResourceGroup.name,
* send: false,
* topicName: exampleTopic.name,
* });
* ```
*/
export class TopicAuthorizationRule extends pulumi.CustomResource {
/**
* Get an existing TopicAuthorizationRule resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TopicAuthorizationRuleState, opts?: pulumi.CustomResourceOptions): TopicAuthorizationRule {
return new TopicAuthorizationRule(name, <any>state, { ...opts, id: id });
}
/**
* Grants listen access to this this Authorization Rule. Defaults to `false`.
*/
public readonly listen!: pulumi.Output<boolean | undefined>;
/**
* Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
*/
public readonly manage!: pulumi.Output<boolean | undefined>;
/**
* Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.
*/
public readonly name!: pulumi.Output<string>;
/**
* Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.
*/
public readonly namespaceName!: pulumi.Output<string>;
/**
* The Primary Connection String for the ServiceBus Topic authorization Rule.
*/
public /*out*/ readonly primaryConnectionString!: pulumi.Output<string>;
/**
* The Primary Key for the ServiceBus Topic authorization Rule.
*/
public /*out*/ readonly primaryKey!: pulumi.Output<string>;
/**
* The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.
*/
public readonly resourceGroupName!: pulumi.Output<string>;
/**
* The Secondary Connection String for the ServiceBus Topic authorization Rule.
*/
public /*out*/ readonly secondaryConnectionString!: pulumi.Output<string>;
/**
* The Secondary Key for the ServiceBus Topic authorization Rule.
*/
public /*out*/ readonly secondaryKey!: pulumi.Output<string>;
/**
* Grants send access to this this Authorization Rule. Defaults to `false`.
*/
public readonly send!: pulumi.Output<boolean | undefined>;
/**
* Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.
*/
public readonly topicName!: pulumi.Output<string>;
/**
* Create a TopicAuthorizationRule resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: TopicAuthorizationRuleArgs, opts?: pulumi.CustomResourceOptions)
constructor(name: string, argsOrState?: TopicAuthorizationRuleArgs | TopicAuthorizationRuleState, opts?: pulumi.CustomResourceOptions) {
let inputs: pulumi.Inputs = {};
if (opts && opts.id) {
const state = argsOrState as TopicAuthorizationRuleState | undefined;
inputs["listen"] = state ? state.listen : undefined;
inputs["manage"] = state ? state.manage : undefined;
inputs["name"] = state ? state.name : undefined;
inputs["namespaceName"] = state ? state.namespaceName : undefined;
inputs["primaryConnectionString"] = state ? state.primaryConnectionString : undefined;
inputs["primaryKey"] = state ? state.primaryKey : undefined;
inputs["resourceGroupName"] = state ? state.resourceGroupName : undefined;
inputs["secondaryConnectionString"] = state ? state.secondaryConnectionString : undefined;
inputs["secondaryKey"] = state ? state.secondaryKey : undefined;
inputs["send"] = state ? state.send : undefined;
inputs["topicName"] = state ? state.topicName : undefined;
} else {
const args = argsOrState as TopicAuthorizationRuleArgs | undefined;
if (!args || args.namespaceName === undefined) {
throw new Error("Missing required property 'namespaceName'");
}
if (!args || args.resourceGroupName === undefined) {
throw new Error("Missing required property 'resourceGroupName'");
}
if (!args || args.topicName === undefined) {
throw new Error("Missing required property 'topicName'");
}
inputs["listen"] = args ? args.listen : undefined;
inputs["manage"] = args ? args.manage : undefined;
inputs["name"] = args ? args.name : undefined;
inputs["namespaceName"] = args ? args.namespaceName : undefined;
inputs["resourceGroupName"] = args ? args.resourceGroupName : undefined;
inputs["send"] = args ? args.send : undefined;
inputs["topicName"] = args ? args.topicName : undefined;
inputs["primaryConnectionString"] = undefined /*out*/;
inputs["primaryKey"] = undefined /*out*/;
inputs["secondaryConnectionString"] = undefined /*out*/;
inputs["secondaryKey"] = undefined /*out*/;
}
super("azure:eventhub/topicAuthorizationRule:TopicAuthorizationRule", name, inputs, opts);
}
}
/**
* Input properties used for looking up and filtering TopicAuthorizationRule resources.
*/
export interface TopicAuthorizationRuleState {
/**
* Grants listen access to this this Authorization Rule. Defaults to `false`.
*/
readonly listen?: pulumi.Input<boolean>;
/**
* Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
*/
readonly manage?: pulumi.Input<boolean>;
/**
* Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.
*/
readonly name?: pulumi.Input<string>;
/**
* Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.
*/
readonly namespaceName?: pulumi.Input<string>;
/**
* The Primary Connection String for the ServiceBus Topic authorization Rule.
*/
readonly primaryConnectionString?: pulumi.Input<string>;
/**
* The Primary Key for the ServiceBus Topic authorization Rule.
*/
readonly primaryKey?: pulumi.Input<string>;
/**
* The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.
*/
readonly resourceGroupName?: pulumi.Input<string>;
/**
* The Secondary Connection String for the ServiceBus Topic authorization Rule.
*/
readonly secondaryConnectionString?: pulumi.Input<string>;
/**
* The Secondary Key for the ServiceBus Topic authorization Rule.
*/
readonly secondaryKey?: pulumi.Input<string>;
/**
* Grants send access to this this Authorization Rule. Defaults to `false`.
*/
readonly send?: pulumi.Input<boolean>;
/**
* Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.
*/
readonly topicName?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a TopicAuthorizationRule resource.
*/
export interface TopicAuthorizationRuleArgs {
/**
* Grants listen access to this this Authorization Rule. Defaults to `false`.
*/
readonly listen?: pulumi.Input<boolean>;
/**
* Grants manage access to this this Authorization Rule. When this property is `true` - both `listen` and `send` must be too. Defaults to `false`.
*/
readonly manage?: pulumi.Input<boolean>;
/**
* Specifies the name of the ServiceBus Topic Authorization Rule resource. Changing this forces a new resource to be created.
*/
readonly name?: pulumi.Input<string>;
/**
* Specifies the name of the ServiceBus Namespace. Changing this forces a new resource to be created.
*/
readonly namespaceName: pulumi.Input<string>;
/**
* The name of the resource group in which the ServiceBus Namespace exists. Changing this forces a new resource to be created.
*/
readonly resourceGroupName: pulumi.Input<string>;
/**
* Grants send access to this this Authorization Rule. Defaults to `false`.
*/
readonly send?: pulumi.Input<boolean>;
/**
* Specifies the name of the ServiceBus Topic. Changing this forces a new resource to be created.
*/
readonly topicName: pulumi.Input<string>;
}