This repository has been archived by the owner on Mar 11, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
accessPolicy.go
184 lines (160 loc) · 6.28 KB
/
accessPolicy.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
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
// *** WARNING: this file was generated by the Pulumi SDK Generator. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package v20200515
import (
"context"
"reflect"
"github.com/pkg/errors"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
// An access policy is used to grant users and applications access to the environment. Roles are assigned to service principals in Azure Active Directory. These roles define the actions the principal can perform through the Time Series Insights data plane APIs.
type AccessPolicy struct {
pulumi.CustomResourceState
// An description of the access policy.
Description pulumi.StringPtrOutput `pulumi:"description"`
// Resource name
Name pulumi.StringOutput `pulumi:"name"`
// The objectId of the principal in Azure Active Directory.
PrincipalObjectId pulumi.StringPtrOutput `pulumi:"principalObjectId"`
// The list of roles the principal is assigned on the environment.
Roles pulumi.StringArrayOutput `pulumi:"roles"`
// Resource type
Type pulumi.StringOutput `pulumi:"type"`
}
// NewAccessPolicy registers a new resource with the given unique name, arguments, and options.
func NewAccessPolicy(ctx *pulumi.Context,
name string, args *AccessPolicyArgs, opts ...pulumi.ResourceOption) (*AccessPolicy, error) {
if args == nil {
return nil, errors.New("missing one or more required arguments")
}
if args.AccessPolicyName == nil {
return nil, errors.New("invalid value for required argument 'AccessPolicyName'")
}
if args.EnvironmentName == nil {
return nil, errors.New("invalid value for required argument 'EnvironmentName'")
}
if args.ResourceGroupName == nil {
return nil, errors.New("invalid value for required argument 'ResourceGroupName'")
}
aliases := pulumi.Aliases([]pulumi.Alias{
{
Type: pulumi.String("azure-nextgen:timeseriesinsights/latest:AccessPolicy"),
},
{
Type: pulumi.String("azure-nextgen:timeseriesinsights/v20170228preview:AccessPolicy"),
},
{
Type: pulumi.String("azure-nextgen:timeseriesinsights/v20171115:AccessPolicy"),
},
{
Type: pulumi.String("azure-nextgen:timeseriesinsights/v20180815preview:AccessPolicy"),
},
})
opts = append(opts, aliases)
var resource AccessPolicy
err := ctx.RegisterResource("azure-nextgen:timeseriesinsights/v20200515:AccessPolicy", name, args, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// GetAccessPolicy gets an existing AccessPolicy 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 GetAccessPolicy(ctx *pulumi.Context,
name string, id pulumi.IDInput, state *AccessPolicyState, opts ...pulumi.ResourceOption) (*AccessPolicy, error) {
var resource AccessPolicy
err := ctx.ReadResource("azure-nextgen:timeseriesinsights/v20200515:AccessPolicy", name, id, state, &resource, opts...)
if err != nil {
return nil, err
}
return &resource, nil
}
// Input properties used for looking up and filtering AccessPolicy resources.
type accessPolicyState struct {
// An description of the access policy.
Description *string `pulumi:"description"`
// Resource name
Name *string `pulumi:"name"`
// The objectId of the principal in Azure Active Directory.
PrincipalObjectId *string `pulumi:"principalObjectId"`
// The list of roles the principal is assigned on the environment.
Roles []string `pulumi:"roles"`
// Resource type
Type *string `pulumi:"type"`
}
type AccessPolicyState struct {
// An description of the access policy.
Description pulumi.StringPtrInput
// Resource name
Name pulumi.StringPtrInput
// The objectId of the principal in Azure Active Directory.
PrincipalObjectId pulumi.StringPtrInput
// The list of roles the principal is assigned on the environment.
Roles pulumi.StringArrayInput
// Resource type
Type pulumi.StringPtrInput
}
func (AccessPolicyState) ElementType() reflect.Type {
return reflect.TypeOf((*accessPolicyState)(nil)).Elem()
}
type accessPolicyArgs struct {
// Name of the access policy.
AccessPolicyName string `pulumi:"accessPolicyName"`
// An description of the access policy.
Description *string `pulumi:"description"`
// The name of the Time Series Insights environment associated with the specified resource group.
EnvironmentName string `pulumi:"environmentName"`
// The objectId of the principal in Azure Active Directory.
PrincipalObjectId *string `pulumi:"principalObjectId"`
// Name of an Azure Resource group.
ResourceGroupName string `pulumi:"resourceGroupName"`
// The list of roles the principal is assigned on the environment.
Roles []string `pulumi:"roles"`
}
// The set of arguments for constructing a AccessPolicy resource.
type AccessPolicyArgs struct {
// Name of the access policy.
AccessPolicyName pulumi.StringInput
// An description of the access policy.
Description pulumi.StringPtrInput
// The name of the Time Series Insights environment associated with the specified resource group.
EnvironmentName pulumi.StringInput
// The objectId of the principal in Azure Active Directory.
PrincipalObjectId pulumi.StringPtrInput
// Name of an Azure Resource group.
ResourceGroupName pulumi.StringInput
// The list of roles the principal is assigned on the environment.
Roles pulumi.StringArrayInput
}
func (AccessPolicyArgs) ElementType() reflect.Type {
return reflect.TypeOf((*accessPolicyArgs)(nil)).Elem()
}
type AccessPolicyInput interface {
pulumi.Input
ToAccessPolicyOutput() AccessPolicyOutput
ToAccessPolicyOutputWithContext(ctx context.Context) AccessPolicyOutput
}
func (*AccessPolicy) ElementType() reflect.Type {
return reflect.TypeOf((*AccessPolicy)(nil))
}
func (i *AccessPolicy) ToAccessPolicyOutput() AccessPolicyOutput {
return i.ToAccessPolicyOutputWithContext(context.Background())
}
func (i *AccessPolicy) ToAccessPolicyOutputWithContext(ctx context.Context) AccessPolicyOutput {
return pulumi.ToOutputWithContext(ctx, i).(AccessPolicyOutput)
}
type AccessPolicyOutput struct {
*pulumi.OutputState
}
func (AccessPolicyOutput) ElementType() reflect.Type {
return reflect.TypeOf((*AccessPolicy)(nil))
}
func (o AccessPolicyOutput) ToAccessPolicyOutput() AccessPolicyOutput {
return o
}
func (o AccessPolicyOutput) ToAccessPolicyOutputWithContext(ctx context.Context) AccessPolicyOutput {
return o
}
func init() {
pulumi.RegisterOutputType(AccessPolicyOutput{})
}