generated from pulumi/pulumi-tf-provider-boilerplate
/
getSecurityGroup.go
130 lines (112 loc) · 4.4 KB
/
getSecurityGroup.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
// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
package iec
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// Use this data source to get the details of a specific IEC security group.
//
// ## Example Usage
//
// ```go
// package main
//
// import (
//
// "github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Iec"
// "github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Iec"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
//
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// cfg := config.New(ctx, "")
// sgName := cfg.RequireObject("sgName")
// _, err := Iec.GetSecurityGroup(ctx, &iec.GetSecurityGroupArgs{
// Name: sgName,
// }, nil)
// if err != nil {
// return err
// }
// return nil
// })
// }
//
// ```
func LookupSecurityGroup(ctx *pulumi.Context, args *LookupSecurityGroupArgs, opts ...pulumi.InvokeOption) (*LookupSecurityGroupResult, error) {
opts = pkgInvokeDefaultOpts(opts)
var rv LookupSecurityGroupResult
err := ctx.Invoke("huaweicloud:Iec/getSecurityGroup:getSecurityGroup", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getSecurityGroup.
type LookupSecurityGroupArgs struct {
// Specifies the name of the security group with a maximum of 64 characters.
Name string `pulumi:"name"`
}
// A collection of values returned by getSecurityGroup.
type LookupSecurityGroupResult struct {
// The description for the IEC security group rules.
Description string `pulumi:"description"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
Name string `pulumi:"name"`
// An Array of one or more security group rules. The object is documented below.
SecurityGroupRules []GetSecurityGroupSecurityGroupRule `pulumi:"securityGroupRules"`
}
func LookupSecurityGroupOutput(ctx *pulumi.Context, args LookupSecurityGroupOutputArgs, opts ...pulumi.InvokeOption) LookupSecurityGroupResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (LookupSecurityGroupResult, error) {
args := v.(LookupSecurityGroupArgs)
r, err := LookupSecurityGroup(ctx, &args, opts...)
var s LookupSecurityGroupResult
if r != nil {
s = *r
}
return s, err
}).(LookupSecurityGroupResultOutput)
}
// A collection of arguments for invoking getSecurityGroup.
type LookupSecurityGroupOutputArgs struct {
// Specifies the name of the security group with a maximum of 64 characters.
Name pulumi.StringInput `pulumi:"name"`
}
func (LookupSecurityGroupOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*LookupSecurityGroupArgs)(nil)).Elem()
}
// A collection of values returned by getSecurityGroup.
type LookupSecurityGroupResultOutput struct{ *pulumi.OutputState }
func (LookupSecurityGroupResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*LookupSecurityGroupResult)(nil)).Elem()
}
func (o LookupSecurityGroupResultOutput) ToLookupSecurityGroupResultOutput() LookupSecurityGroupResultOutput {
return o
}
func (o LookupSecurityGroupResultOutput) ToLookupSecurityGroupResultOutputWithContext(ctx context.Context) LookupSecurityGroupResultOutput {
return o
}
// The description for the IEC security group rules.
func (o LookupSecurityGroupResultOutput) Description() pulumi.StringOutput {
return o.ApplyT(func(v LookupSecurityGroupResult) string { return v.Description }).(pulumi.StringOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o LookupSecurityGroupResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v LookupSecurityGroupResult) string { return v.Id }).(pulumi.StringOutput)
}
func (o LookupSecurityGroupResultOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v LookupSecurityGroupResult) string { return v.Name }).(pulumi.StringOutput)
}
// An Array of one or more security group rules. The object is documented below.
func (o LookupSecurityGroupResultOutput) SecurityGroupRules() GetSecurityGroupSecurityGroupRuleArrayOutput {
return o.ApplyT(func(v LookupSecurityGroupResult) []GetSecurityGroupSecurityGroupRule { return v.SecurityGroupRules }).(GetSecurityGroupSecurityGroupRuleArrayOutput)
}
func init() {
pulumi.RegisterOutputType(LookupSecurityGroupResultOutput{})
}