Viewing docs for Fastly v12.0.0
published on Monday, Apr 20, 2026 by Pulumi
published on Monday, Apr 20, 2026 by Pulumi
Viewing docs for Fastly v12.0.0
published on Monday, Apr 20, 2026 by Pulumi
published on Monday, Apr 20, 2026 by Pulumi
Use this data source to list API Security discovered operations for a Fastly service.
Discovered operations depend on observed traffic and may be empty.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as fastly from "@pulumi/fastly";
const svc1 = new fastly.ServiceVcl("svc1", {
name: "test-svc-1-example",
forceDestroy: true,
backends: [{
address: "example.com",
name: "tf-test-backend-1",
}],
});
// Discovered operations depend on traffic and may legitimately be empty.
const discovered = fastly.getApiSecurityDiscoveredOperationsOutput({
serviceId: svc1.id,
status: "SAVED",
methods: ["GET"],
domains: ["api.example.com"],
path: "/v1/things",
});
export const apiSecurityDiscoveredOperations = discovered.apply(discovered => discovered.operations);
export const apiSecurityDiscoveredOperationsTotal = discovered.apply(discovered => discovered.total);
import pulumi
import pulumi_fastly as fastly
svc1 = fastly.ServiceVcl("svc1",
name="test-svc-1-example",
force_destroy=True,
backends=[{
"address": "example.com",
"name": "tf-test-backend-1",
}])
# Discovered operations depend on traffic and may legitimately be empty.
discovered = fastly.get_api_security_discovered_operations_output(service_id=svc1.id,
status="SAVED",
methods=["GET"],
domains=["api.example.com"],
path="/v1/things")
pulumi.export("apiSecurityDiscoveredOperations", discovered.operations)
pulumi.export("apiSecurityDiscoveredOperationsTotal", discovered.total)
package main
import (
"github.com/pulumi/pulumi-fastly/sdk/v12/go/fastly"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
svc1, err := fastly.NewServiceVcl(ctx, "svc1", &fastly.ServiceVclArgs{
Name: pulumi.String("test-svc-1-example"),
ForceDestroy: pulumi.Bool(true),
Backends: fastly.ServiceVclBackendArray{
&fastly.ServiceVclBackendArgs{
Address: pulumi.String("example.com"),
Name: pulumi.String("tf-test-backend-1"),
},
},
})
if err != nil {
return err
}
// Discovered operations depend on traffic and may legitimately be empty.
discovered := fastly.GetApiSecurityDiscoveredOperationsOutput(ctx, fastly.GetApiSecurityDiscoveredOperationsOutputArgs{
ServiceId: svc1.ID(),
Status: pulumi.String("SAVED"),
Methods: pulumi.StringArray{
pulumi.String("GET"),
},
Domains: pulumi.StringArray{
pulumi.String("api.example.com"),
},
Path: pulumi.String("/v1/things"),
}, nil)
ctx.Export("apiSecurityDiscoveredOperations", discovered.ApplyT(func(discovered fastly.GetApiSecurityDiscoveredOperationsResult) ([]fastly.GetApiSecurityDiscoveredOperationsOperation, error) {
return []fastly.GetApiSecurityDiscoveredOperationsOperation(discovered.Operations), nil
}).([]fastly.GetApiSecurityDiscoveredOperationsOperationOutput))
ctx.Export("apiSecurityDiscoveredOperationsTotal", discovered.ApplyT(func(discovered fastly.GetApiSecurityDiscoveredOperationsResult) (*int, error) {
return &discovered.Total, nil
}).(pulumi.IntPtrOutput))
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Fastly = Pulumi.Fastly;
return await Deployment.RunAsync(() =>
{
var svc1 = new Fastly.Index.ServiceVcl("svc1", new()
{
Name = "test-svc-1-example",
ForceDestroy = true,
Backends = new[]
{
new Fastly.Inputs.ServiceVclBackendArgs
{
Address = "example.com",
Name = "tf-test-backend-1",
},
},
});
// Discovered operations depend on traffic and may legitimately be empty.
var discovered = Fastly.Index.GetApiSecurityDiscoveredOperations.Invoke(new()
{
ServiceId = svc1.Id,
Status = "SAVED",
Methods = new[]
{
"GET",
},
Domains = new[]
{
"api.example.com",
},
Path = "/v1/things",
});
return new Dictionary<string, object?>
{
["apiSecurityDiscoveredOperations"] = discovered.Apply(getApiSecurityDiscoveredOperationsResult => getApiSecurityDiscoveredOperationsResult.Operations),
["apiSecurityDiscoveredOperationsTotal"] = discovered.Apply(getApiSecurityDiscoveredOperationsResult => getApiSecurityDiscoveredOperationsResult.Total),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.fastly.ServiceVcl;
import com.pulumi.fastly.ServiceVclArgs;
import com.pulumi.fastly.inputs.ServiceVclBackendArgs;
import com.pulumi.fastly.FastlyFunctions;
import com.pulumi.fastly.inputs.GetApiSecurityDiscoveredOperationsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var svc1 = new ServiceVcl("svc1", ServiceVclArgs.builder()
.name("test-svc-1-example")
.forceDestroy(true)
.backends(ServiceVclBackendArgs.builder()
.address("example.com")
.name("tf-test-backend-1")
.build())
.build());
// Discovered operations depend on traffic and may legitimately be empty.
final var discovered = FastlyFunctions.getApiSecurityDiscoveredOperations(GetApiSecurityDiscoveredOperationsArgs.builder()
.serviceId(svc1.id())
.status("SAVED")
.methods("GET")
.domains("api.example.com")
.path("/v1/things")
.build());
ctx.export("apiSecurityDiscoveredOperations", discovered.applyValue(_discovered -> _discovered.operations()));
ctx.export("apiSecurityDiscoveredOperationsTotal", discovered.applyValue(_discovered -> _discovered.total()));
}
}
resources:
svc1:
type: fastly:ServiceVcl
properties:
name: test-svc-1-example
forceDestroy: true
backends:
- address: example.com
name: tf-test-backend-1
variables:
# Discovered operations depend on traffic and may legitimately be empty.
discovered:
fn::invoke:
function: fastly:getApiSecurityDiscoveredOperations
arguments:
serviceId: ${svc1.id}
status: SAVED
methods:
- GET
domains:
- api.example.com
path: /v1/things
outputs:
apiSecurityDiscoveredOperations: ${discovered.operations}
apiSecurityDiscoveredOperationsTotal: ${discovered.total}
Using getApiSecurityDiscoveredOperations
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getApiSecurityDiscoveredOperations(args: GetApiSecurityDiscoveredOperationsArgs, opts?: InvokeOptions): Promise<GetApiSecurityDiscoveredOperationsResult>
function getApiSecurityDiscoveredOperationsOutput(args: GetApiSecurityDiscoveredOperationsOutputArgs, opts?: InvokeOptions): Output<GetApiSecurityDiscoveredOperationsResult>def get_api_security_discovered_operations(domains: Optional[Sequence[str]] = None,
methods: Optional[Sequence[str]] = None,
path: Optional[str] = None,
service_id: Optional[str] = None,
status: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetApiSecurityDiscoveredOperationsResult
def get_api_security_discovered_operations_output(domains: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
methods: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
path: Optional[pulumi.Input[str]] = None,
service_id: Optional[pulumi.Input[str]] = None,
status: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetApiSecurityDiscoveredOperationsResult]func GetApiSecurityDiscoveredOperations(ctx *Context, args *GetApiSecurityDiscoveredOperationsArgs, opts ...InvokeOption) (*GetApiSecurityDiscoveredOperationsResult, error)
func GetApiSecurityDiscoveredOperationsOutput(ctx *Context, args *GetApiSecurityDiscoveredOperationsOutputArgs, opts ...InvokeOption) GetApiSecurityDiscoveredOperationsResultOutput> Note: This function is named GetApiSecurityDiscoveredOperations in the Go SDK.
public static class GetApiSecurityDiscoveredOperations
{
public static Task<GetApiSecurityDiscoveredOperationsResult> InvokeAsync(GetApiSecurityDiscoveredOperationsArgs args, InvokeOptions? opts = null)
public static Output<GetApiSecurityDiscoveredOperationsResult> Invoke(GetApiSecurityDiscoveredOperationsInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetApiSecurityDiscoveredOperationsResult> getApiSecurityDiscoveredOperations(GetApiSecurityDiscoveredOperationsArgs args, InvokeOptions options)
public static Output<GetApiSecurityDiscoveredOperationsResult> getApiSecurityDiscoveredOperations(GetApiSecurityDiscoveredOperationsArgs args, InvokeOptions options)
fn::invoke:
function: fastly:index/getApiSecurityDiscoveredOperations:getApiSecurityDiscoveredOperations
arguments:
# arguments dictionaryThe following arguments are supported:
- Service
Id string - Service ID.
- Domains List<string>
- Filter by one or more fully-qualified domains (exact match).
- Methods List<string>
- Filter by one or more HTTP methods.
- Path string
- Filter by path (exact match).
- Status string
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- service
Id String - Service ID.
- domains List<String>
- Filter by one or more fully-qualified domains (exact match).
- methods List<String>
- Filter by one or more HTTP methods.
- path String
- Filter by path (exact match).
- status String
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- service_
id str - Service ID.
- domains Sequence[str]
- Filter by one or more fully-qualified domains (exact match).
- methods Sequence[str]
- Filter by one or more HTTP methods.
- path str
- Filter by path (exact match).
- status str
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- service
Id String - Service ID.
- domains List<String>
- Filter by one or more fully-qualified domains (exact match).
- methods List<String>
- Filter by one or more HTTP methods.
- path String
- Filter by path (exact match).
- status String
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
getApiSecurityDiscoveredOperations Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Operations
List<Get
Api Security Discovered Operations Operation> - Discovered operations.
- Service
Id string - Service ID.
- Total int
- Total number of matching results, as returned by the API.
- Domains List<string>
- Filter by one or more fully-qualified domains (exact match).
- Methods List<string>
- Filter by one or more HTTP methods.
- Path string
- Filter by path (exact match).
- Status string
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- Id string
- The provider-assigned unique ID for this managed resource.
- Operations
[]Get
Api Security Discovered Operations Operation - Discovered operations.
- Service
Id string - Service ID.
- Total int
- Total number of matching results, as returned by the API.
- Domains []string
- Filter by one or more fully-qualified domains (exact match).
- Methods []string
- Filter by one or more HTTP methods.
- Path string
- Filter by path (exact match).
- Status string
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- id String
- The provider-assigned unique ID for this managed resource.
- operations
List<Get
Api Security Discovered Operations Operation> - Discovered operations.
- service
Id String - Service ID.
- total Integer
- Total number of matching results, as returned by the API.
- domains List<String>
- Filter by one or more fully-qualified domains (exact match).
- methods List<String>
- Filter by one or more HTTP methods.
- path String
- Filter by path (exact match).
- status String
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- id string
- The provider-assigned unique ID for this managed resource.
- operations
Get
Api Security Discovered Operations Operation[] - Discovered operations.
- service
Id string - Service ID.
- total number
- Total number of matching results, as returned by the API.
- domains string[]
- Filter by one or more fully-qualified domains (exact match).
- methods string[]
- Filter by one or more HTTP methods.
- path string
- Filter by path (exact match).
- status string
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- id str
- The provider-assigned unique ID for this managed resource.
- operations
Sequence[Get
Api Security Discovered Operations Operation] - Discovered operations.
- service_
id str - Service ID.
- total int
- Total number of matching results, as returned by the API.
- domains Sequence[str]
- Filter by one or more fully-qualified domains (exact match).
- methods Sequence[str]
- Filter by one or more HTTP methods.
- path str
- Filter by path (exact match).
- status str
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
- id String
- The provider-assigned unique ID for this managed resource.
- operations List<Property Map>
- Discovered operations.
- service
Id String - Service ID.
- total Number
- Total number of matching results, as returned by the API.
- domains List<String>
- Filter by one or more fully-qualified domains (exact match).
- methods List<String>
- Filter by one or more HTTP methods.
- path String
- Filter by path (exact match).
- status String
- Filter discovered operations by status. Accepted values are
DISCOVERED,SAVED, andIGNORED.
Supporting Types
GetApiSecurityDiscoveredOperationsOperation
- Domain string
- Discovered operation domain.
- Id string
- Discovered operation ID.
- Last
Seen stringAt - Last seen timestamp (when present).
- Method string
- Discovered operation HTTP method.
- Path string
- Discovered operation path.
- Rps double
- Observed requests per second (when present).
- Status string
- Discovered operation status (when present).
- Updated
At string - Updated timestamp (when present).
- Domain string
- Discovered operation domain.
- Id string
- Discovered operation ID.
- Last
Seen stringAt - Last seen timestamp (when present).
- Method string
- Discovered operation HTTP method.
- Path string
- Discovered operation path.
- Rps float64
- Observed requests per second (when present).
- Status string
- Discovered operation status (when present).
- Updated
At string - Updated timestamp (when present).
- domain String
- Discovered operation domain.
- id String
- Discovered operation ID.
- last
Seen StringAt - Last seen timestamp (when present).
- method String
- Discovered operation HTTP method.
- path String
- Discovered operation path.
- rps Double
- Observed requests per second (when present).
- status String
- Discovered operation status (when present).
- updated
At String - Updated timestamp (when present).
- domain string
- Discovered operation domain.
- id string
- Discovered operation ID.
- last
Seen stringAt - Last seen timestamp (when present).
- method string
- Discovered operation HTTP method.
- path string
- Discovered operation path.
- rps number
- Observed requests per second (when present).
- status string
- Discovered operation status (when present).
- updated
At string - Updated timestamp (when present).
- domain str
- Discovered operation domain.
- id str
- Discovered operation ID.
- last_
seen_ strat - Last seen timestamp (when present).
- method str
- Discovered operation HTTP method.
- path str
- Discovered operation path.
- rps float
- Observed requests per second (when present).
- status str
- Discovered operation status (when present).
- updated_
at str - Updated timestamp (when present).
- domain String
- Discovered operation domain.
- id String
- Discovered operation ID.
- last
Seen StringAt - Last seen timestamp (when present).
- method String
- Discovered operation HTTP method.
- path String
- Discovered operation path.
- rps Number
- Observed requests per second (when present).
- status String
- Discovered operation status (when present).
- updated
At String - Updated timestamp (when present).
Package Details
- Repository
- Fastly pulumi/pulumi-fastly
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
fastlyTerraform Provider.
Viewing docs for Fastly v12.0.0
published on Monday, Apr 20, 2026 by Pulumi
published on Monday, Apr 20, 2026 by Pulumi
