/
getAppSecIPGeo.go
170 lines (148 loc) · 6.98 KB
/
getAppSecIPGeo.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
// 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 akamai
import (
"context"
"reflect"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
// **Scopes**: Security configuration; security policy
//
// Returns information about the network lists used in the IP/Geo Firewall settings; also returns the firewall `mode`, which indicates whether devices on the geographic or IP address lists are allowed through the firewall or are blocked by the firewall.
//
// **Related API Endpoint**: [/appsec/v1/configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/ip-geo-firewall](https://developer.akamai.com/api/cloud_security/application_security/v1.html#getipgeofirewall)
//
// ## Example Usage
//
// Basic usage:
//
// ```go
// package main
//
// import (
// "github.com/pulumi/pulumi-akamai/sdk/v2/go/akamai"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
// )
//
// func main() {
// pulumi.Run(func(ctx *pulumi.Context) error {
// configuration, err := akamai.LookupAppSecConfiguration(ctx, &GetAppSecConfigurationArgs{
// Name: pulumi.StringRef("Documentation"),
// }, nil)
// if err != nil {
// return err
// }
// ipGeo, err := akamai.LookupAppSecIPGeo(ctx, &GetAppSecIPGeoArgs{
// ConfigId: configuration.ConfigId,
// SecurityPolicyId: "gms1_134637",
// }, nil)
// if err != nil {
// return err
// }
// ctx.Export("ipGeoMode", ipGeo.Mode)
// ctx.Export("geoNetworkLists", ipGeo.GeoNetworkLists)
// ctx.Export("ipNetworkLists", ipGeo.IpNetworkLists)
// ctx.Export("exceptionIpNetworkLists", ipGeo.ExceptionIpNetworkLists)
// return nil
// })
// }
// ```
// ## Output Options
//
// The following options can be used to determine the information returned, and how that returned information is formatted:
//
// - `mode`. Specifies the action taken by the IP/Geo firewall. Valid values are:
// - **block**. Networks on the IP and geographic network lists are prevented from passing through the firewall.
// - **allow**. Networks on the IP and geographic network lists are allowed to pass through the firewall.
// - `geoNetworkLists`. Network lists blocked or allowed based on geographic location.
// - `ipNetworkLists`. Network lists blocked or allowed based on IP address.
// - `exceptionIpNetworkLists`. Network lists allowed through the firewall regardless of the values assigned to the `mode`, `geoNetworkLists`, and `ipNetworkLists` parameters.
// - `outputText`. Tabular report of the IP/Geo firewall settings.
func LookupAppSecIPGeo(ctx *pulumi.Context, args *LookupAppSecIPGeoArgs, opts ...pulumi.InvokeOption) (*LookupAppSecIPGeoResult, error) {
var rv LookupAppSecIPGeoResult
err := ctx.Invoke("akamai:index/getAppSecIPGeo:getAppSecIPGeo", args, &rv, opts...)
if err != nil {
return nil, err
}
return &rv, nil
}
// A collection of arguments for invoking getAppSecIPGeo.
type LookupAppSecIPGeoArgs struct {
// . Unique identifier of the security configuration associated with the IP/Geo lists.
ConfigId int `pulumi:"configId"`
// . Unique identifier of the security policy associated with the IP/Geo lists. If not included, information is returned for all your security policies.
SecurityPolicyId string `pulumi:"securityPolicyId"`
}
// A collection of values returned by getAppSecIPGeo.
type LookupAppSecIPGeoResult struct {
ConfigId int `pulumi:"configId"`
ExceptionIpNetworkLists []string `pulumi:"exceptionIpNetworkLists"`
GeoNetworkLists []string `pulumi:"geoNetworkLists"`
// The provider-assigned unique ID for this managed resource.
Id string `pulumi:"id"`
IpNetworkLists []string `pulumi:"ipNetworkLists"`
Mode string `pulumi:"mode"`
OutputText string `pulumi:"outputText"`
SecurityPolicyId string `pulumi:"securityPolicyId"`
}
func LookupAppSecIPGeoOutput(ctx *pulumi.Context, args LookupAppSecIPGeoOutputArgs, opts ...pulumi.InvokeOption) LookupAppSecIPGeoResultOutput {
return pulumi.ToOutputWithContext(context.Background(), args).
ApplyT(func(v interface{}) (LookupAppSecIPGeoResult, error) {
args := v.(LookupAppSecIPGeoArgs)
r, err := LookupAppSecIPGeo(ctx, &args, opts...)
var s LookupAppSecIPGeoResult
if r != nil {
s = *r
}
return s, err
}).(LookupAppSecIPGeoResultOutput)
}
// A collection of arguments for invoking getAppSecIPGeo.
type LookupAppSecIPGeoOutputArgs struct {
// . Unique identifier of the security configuration associated with the IP/Geo lists.
ConfigId pulumi.IntInput `pulumi:"configId"`
// . Unique identifier of the security policy associated with the IP/Geo lists. If not included, information is returned for all your security policies.
SecurityPolicyId pulumi.StringInput `pulumi:"securityPolicyId"`
}
func (LookupAppSecIPGeoOutputArgs) ElementType() reflect.Type {
return reflect.TypeOf((*LookupAppSecIPGeoArgs)(nil)).Elem()
}
// A collection of values returned by getAppSecIPGeo.
type LookupAppSecIPGeoResultOutput struct{ *pulumi.OutputState }
func (LookupAppSecIPGeoResultOutput) ElementType() reflect.Type {
return reflect.TypeOf((*LookupAppSecIPGeoResult)(nil)).Elem()
}
func (o LookupAppSecIPGeoResultOutput) ToLookupAppSecIPGeoResultOutput() LookupAppSecIPGeoResultOutput {
return o
}
func (o LookupAppSecIPGeoResultOutput) ToLookupAppSecIPGeoResultOutputWithContext(ctx context.Context) LookupAppSecIPGeoResultOutput {
return o
}
func (o LookupAppSecIPGeoResultOutput) ConfigId() pulumi.IntOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) int { return v.ConfigId }).(pulumi.IntOutput)
}
func (o LookupAppSecIPGeoResultOutput) ExceptionIpNetworkLists() pulumi.StringArrayOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) []string { return v.ExceptionIpNetworkLists }).(pulumi.StringArrayOutput)
}
func (o LookupAppSecIPGeoResultOutput) GeoNetworkLists() pulumi.StringArrayOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) []string { return v.GeoNetworkLists }).(pulumi.StringArrayOutput)
}
// The provider-assigned unique ID for this managed resource.
func (o LookupAppSecIPGeoResultOutput) Id() pulumi.StringOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) string { return v.Id }).(pulumi.StringOutput)
}
func (o LookupAppSecIPGeoResultOutput) IpNetworkLists() pulumi.StringArrayOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) []string { return v.IpNetworkLists }).(pulumi.StringArrayOutput)
}
func (o LookupAppSecIPGeoResultOutput) Mode() pulumi.StringOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) string { return v.Mode }).(pulumi.StringOutput)
}
func (o LookupAppSecIPGeoResultOutput) OutputText() pulumi.StringOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) string { return v.OutputText }).(pulumi.StringOutput)
}
func (o LookupAppSecIPGeoResultOutput) SecurityPolicyId() pulumi.StringOutput {
return o.ApplyT(func(v LookupAppSecIPGeoResult) string { return v.SecurityPolicyId }).(pulumi.StringOutput)
}
func init() {
pulumi.RegisterOutputType(LookupAppSecIPGeoResultOutput{})
}