-
Notifications
You must be signed in to change notification settings - Fork 51
/
analyticsWorkspaceLinkedService.go
151 lines (135 loc) · 8.01 KB
/
analyticsWorkspaceLinkedService.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
// *** 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 operationalinsights
import (
"github.com/pkg/errors"
"github.com/pulumi/pulumi/sdk/go/pulumi"
)
// Links a Log Analytics (formally Operational Insights) Workspace to another resource. The (currently) only linkable service is an Azure Automation Account.
//
// > **NOTE:** This resource has been deprecated in favour of the `loganalytics.LinkedService` resource and will be removed in the next major version of the AzureRM Provider. The new resource shares the same fields as this one, and information on migrating across can be found in this guide.
//
// > This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/log_analytics_workspace_linked_service.html.markdown.
type AnalyticsWorkspaceLinkedService struct {
s *pulumi.ResourceState
}
// NewAnalyticsWorkspaceLinkedService registers a new resource with the given unique name, arguments, and options.
func NewAnalyticsWorkspaceLinkedService(ctx *pulumi.Context,
name string, args *AnalyticsWorkspaceLinkedServiceArgs, opts ...pulumi.ResourceOpt) (*AnalyticsWorkspaceLinkedService, error) {
if args == nil || args.ResourceGroupName == nil {
return nil, errors.New("missing required argument 'ResourceGroupName'")
}
if args == nil || args.WorkspaceName == nil {
return nil, errors.New("missing required argument 'WorkspaceName'")
}
inputs := make(map[string]interface{})
if args == nil {
inputs["linkedServiceName"] = nil
inputs["linkedServiceProperties"] = nil
inputs["resourceGroupName"] = nil
inputs["resourceId"] = nil
inputs["tags"] = nil
inputs["workspaceName"] = nil
} else {
inputs["linkedServiceName"] = args.LinkedServiceName
inputs["linkedServiceProperties"] = args.LinkedServiceProperties
inputs["resourceGroupName"] = args.ResourceGroupName
inputs["resourceId"] = args.ResourceId
inputs["tags"] = args.Tags
inputs["workspaceName"] = args.WorkspaceName
}
inputs["name"] = nil
s, err := ctx.RegisterResource("azure:operationalinsights/analyticsWorkspaceLinkedService:AnalyticsWorkspaceLinkedService", name, true, inputs, opts...)
if err != nil {
return nil, err
}
return &AnalyticsWorkspaceLinkedService{s: s}, nil
}
// GetAnalyticsWorkspaceLinkedService gets an existing AnalyticsWorkspaceLinkedService 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 GetAnalyticsWorkspaceLinkedService(ctx *pulumi.Context,
name string, id pulumi.ID, state *AnalyticsWorkspaceLinkedServiceState, opts ...pulumi.ResourceOpt) (*AnalyticsWorkspaceLinkedService, error) {
inputs := make(map[string]interface{})
if state != nil {
inputs["linkedServiceName"] = state.LinkedServiceName
inputs["linkedServiceProperties"] = state.LinkedServiceProperties
inputs["name"] = state.Name
inputs["resourceGroupName"] = state.ResourceGroupName
inputs["resourceId"] = state.ResourceId
inputs["tags"] = state.Tags
inputs["workspaceName"] = state.WorkspaceName
}
s, err := ctx.ReadResource("azure:operationalinsights/analyticsWorkspaceLinkedService:AnalyticsWorkspaceLinkedService", name, id, inputs, opts...)
if err != nil {
return nil, err
}
return &AnalyticsWorkspaceLinkedService{s: s}, nil
}
// URN is this resource's unique name assigned by Pulumi.
func (r *AnalyticsWorkspaceLinkedService) URN() *pulumi.URNOutput {
return r.s.URN()
}
// ID is this resource's unique identifier assigned by its provider.
func (r *AnalyticsWorkspaceLinkedService) ID() *pulumi.IDOutput {
return r.s.ID()
}
// Name of the type of linkedServices resource to connect to the Log Analytics Workspace specified in `workspaceName`. Currently it defaults to and only supports `automation` as a value. Changing this forces a new resource to be created.
func (r *AnalyticsWorkspaceLinkedService) LinkedServiceName() *pulumi.StringOutput {
return (*pulumi.StringOutput)(r.s.State["linkedServiceName"])
}
// A `linkedServiceProperties` block as defined below.
func (r *AnalyticsWorkspaceLinkedService) LinkedServiceProperties() *pulumi.ArrayOutput {
return (*pulumi.ArrayOutput)(r.s.State["linkedServiceProperties"])
}
// The automatically generated name of the Linked Service. This cannot be specified. The format is always `<workspace_name>/<linked_service_name>` e.g. `workspace1/Automation`
func (r *AnalyticsWorkspaceLinkedService) Name() *pulumi.StringOutput {
return (*pulumi.StringOutput)(r.s.State["name"])
}
// The name of the resource group in which the Log Analytics Linked Service is created. Changing this forces a new resource to be created.
func (r *AnalyticsWorkspaceLinkedService) ResourceGroupName() *pulumi.StringOutput {
return (*pulumi.StringOutput)(r.s.State["resourceGroupName"])
}
// The resource id of the resource that will be linked to the workspace. This field has been deprecated in favour of the top-level `resourceId` field and will be removed in v2.0 of the AzureRM Provider.
func (r *AnalyticsWorkspaceLinkedService) ResourceId() *pulumi.StringOutput {
return (*pulumi.StringOutput)(r.s.State["resourceId"])
}
// A mapping of tags to assign to the resource.
func (r *AnalyticsWorkspaceLinkedService) Tags() *pulumi.MapOutput {
return (*pulumi.MapOutput)(r.s.State["tags"])
}
// Name of the Log Analytics Workspace that will contain the linkedServices resource. Changing this forces a new resource to be created.
func (r *AnalyticsWorkspaceLinkedService) WorkspaceName() *pulumi.StringOutput {
return (*pulumi.StringOutput)(r.s.State["workspaceName"])
}
// Input properties used for looking up and filtering AnalyticsWorkspaceLinkedService resources.
type AnalyticsWorkspaceLinkedServiceState struct {
// Name of the type of linkedServices resource to connect to the Log Analytics Workspace specified in `workspaceName`. Currently it defaults to and only supports `automation` as a value. Changing this forces a new resource to be created.
LinkedServiceName interface{}
// A `linkedServiceProperties` block as defined below.
LinkedServiceProperties interface{}
// The automatically generated name of the Linked Service. This cannot be specified. The format is always `<workspace_name>/<linked_service_name>` e.g. `workspace1/Automation`
Name interface{}
// The name of the resource group in which the Log Analytics Linked Service is created. Changing this forces a new resource to be created.
ResourceGroupName interface{}
// The resource id of the resource that will be linked to the workspace. This field has been deprecated in favour of the top-level `resourceId` field and will be removed in v2.0 of the AzureRM Provider.
ResourceId interface{}
// A mapping of tags to assign to the resource.
Tags interface{}
// Name of the Log Analytics Workspace that will contain the linkedServices resource. Changing this forces a new resource to be created.
WorkspaceName interface{}
}
// The set of arguments for constructing a AnalyticsWorkspaceLinkedService resource.
type AnalyticsWorkspaceLinkedServiceArgs struct {
// Name of the type of linkedServices resource to connect to the Log Analytics Workspace specified in `workspaceName`. Currently it defaults to and only supports `automation` as a value. Changing this forces a new resource to be created.
LinkedServiceName interface{}
// A `linkedServiceProperties` block as defined below.
LinkedServiceProperties interface{}
// The name of the resource group in which the Log Analytics Linked Service is created. Changing this forces a new resource to be created.
ResourceGroupName interface{}
// The resource id of the resource that will be linked to the workspace. This field has been deprecated in favour of the top-level `resourceId` field and will be removed in v2.0 of the AzureRM Provider.
ResourceId interface{}
// A mapping of tags to assign to the resource.
Tags interface{}
// Name of the Log Analytics Workspace that will contain the linkedServices resource. Changing this forces a new resource to be created.
WorkspaceName interface{}
}