1. Packages
  2. Fastly Provider
  3. API Docs
  4. ApiSecurityOperation
Viewing docs for Fastly v12.0.0
published on Monday, Apr 20, 2026 by Pulumi
fastly logo
Viewing docs for Fastly v12.0.0
published on Monday, Apr 20, 2026 by Pulumi

    Manages an API Security operation for a Fastly service. Operations represent API endpoints (method + domain + path) and can optionally be associated with operation tags.

    Example Usage

    Basic 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",
        }],
    });
    const example = new fastly.ApiSecurityOperation("example", {
        serviceId: svc1.id,
        method: "GET",
        domain: "api.example.com",
        path: "/v1/things",
        description: "Retrieve things",
    });
    
    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",
        }])
    example = fastly.ApiSecurityOperation("example",
        service_id=svc1.id,
        method="GET",
        domain="api.example.com",
        path="/v1/things",
        description="Retrieve things")
    
    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
    		}
    		_, err = fastly.NewApiSecurityOperation(ctx, "example", &fastly.ApiSecurityOperationArgs{
    			ServiceId:   svc1.ID(),
    			Method:      pulumi.String("GET"),
    			Domain:      pulumi.String("api.example.com"),
    			Path:        pulumi.String("/v1/things"),
    			Description: pulumi.String("Retrieve things"),
    		})
    		if err != nil {
    			return err
    		}
    		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",
                },
            },
        });
    
        var example = new Fastly.Index.ApiSecurityOperation("example", new()
        {
            ServiceId = svc1.Id,
            Method = "GET",
            Domain = "api.example.com",
            Path = "/v1/things",
            Description = "Retrieve things",
        });
    
    });
    
    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.ApiSecurityOperation;
    import com.pulumi.fastly.ApiSecurityOperationArgs;
    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());
    
            var example = new ApiSecurityOperation("example", ApiSecurityOperationArgs.builder()
                .serviceId(svc1.id())
                .method("GET")
                .domain("api.example.com")
                .path("/v1/things")
                .description("Retrieve things")
                .build());
    
        }
    }
    
    resources:
      svc1:
        type: fastly:ServiceVcl
        properties:
          name: test-svc-1-example
          forceDestroy: true
          backends:
            - address: example.com
              name: tf-test-backend-1
      example:
        type: fastly:ApiSecurityOperation
        properties:
          serviceId: ${svc1.id}
          method: GET
          domain: api.example.com
          path: /v1/things
          description: Retrieve things
    

    With tags:

    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",
        }],
    });
    const tag = new fastly.ApiSecurityOperationTag("tag", {
        serviceId: svc1.id,
        name: "production",
        description: "Production endpoints",
    });
    const example = new fastly.ApiSecurityOperation("example", {
        serviceId: svc1.id,
        method: "GET",
        domain: "api.example.com",
        path: "/v1/things",
        description: "Retrieve things",
        tagIds: [tag.tagId],
    });
    
    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",
        }])
    tag = fastly.ApiSecurityOperationTag("tag",
        service_id=svc1.id,
        name="production",
        description="Production endpoints")
    example = fastly.ApiSecurityOperation("example",
        service_id=svc1.id,
        method="GET",
        domain="api.example.com",
        path="/v1/things",
        description="Retrieve things",
        tag_ids=[tag.tag_id])
    
    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
    		}
    		tag, err := fastly.NewApiSecurityOperationTag(ctx, "tag", &fastly.ApiSecurityOperationTagArgs{
    			ServiceId:   svc1.ID(),
    			Name:        pulumi.String("production"),
    			Description: pulumi.String("Production endpoints"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = fastly.NewApiSecurityOperation(ctx, "example", &fastly.ApiSecurityOperationArgs{
    			ServiceId:   svc1.ID(),
    			Method:      pulumi.String("GET"),
    			Domain:      pulumi.String("api.example.com"),
    			Path:        pulumi.String("/v1/things"),
    			Description: pulumi.String("Retrieve things"),
    			TagIds: pulumi.StringArray{
    				tag.TagId,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		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",
                },
            },
        });
    
        var tag = new Fastly.Index.ApiSecurityOperationTag("tag", new()
        {
            ServiceId = svc1.Id,
            Name = "production",
            Description = "Production endpoints",
        });
    
        var example = new Fastly.Index.ApiSecurityOperation("example", new()
        {
            ServiceId = svc1.Id,
            Method = "GET",
            Domain = "api.example.com",
            Path = "/v1/things",
            Description = "Retrieve things",
            TagIds = new[]
            {
                tag.TagId,
            },
        });
    
    });
    
    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.ApiSecurityOperationTag;
    import com.pulumi.fastly.ApiSecurityOperationTagArgs;
    import com.pulumi.fastly.ApiSecurityOperation;
    import com.pulumi.fastly.ApiSecurityOperationArgs;
    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());
    
            var tag = new ApiSecurityOperationTag("tag", ApiSecurityOperationTagArgs.builder()
                .serviceId(svc1.id())
                .name("production")
                .description("Production endpoints")
                .build());
    
            var example = new ApiSecurityOperation("example", ApiSecurityOperationArgs.builder()
                .serviceId(svc1.id())
                .method("GET")
                .domain("api.example.com")
                .path("/v1/things")
                .description("Retrieve things")
                .tagIds(tag.tagId())
                .build());
    
        }
    }
    
    resources:
      svc1:
        type: fastly:ServiceVcl
        properties:
          name: test-svc-1-example
          forceDestroy: true
          backends:
            - address: example.com
              name: tf-test-backend-1
      tag:
        type: fastly:ApiSecurityOperationTag
        properties:
          serviceId: ${svc1.id}
          name: production
          description: Production endpoints
      example:
        type: fastly:ApiSecurityOperation
        properties:
          serviceId: ${svc1.id}
          method: GET
          domain: api.example.com
          path: /v1/things
          description: Retrieve things
          tagIds:
            - ${tag.tagId}
    

    Create ApiSecurityOperation Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ApiSecurityOperation(name: string, args: ApiSecurityOperationArgs, opts?: CustomResourceOptions);
    @overload
    def ApiSecurityOperation(resource_name: str,
                             args: ApiSecurityOperationArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def ApiSecurityOperation(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             domain: Optional[str] = None,
                             method: Optional[str] = None,
                             path: Optional[str] = None,
                             service_id: Optional[str] = None,
                             description: Optional[str] = None,
                             tag_ids: Optional[Sequence[str]] = None)
    func NewApiSecurityOperation(ctx *Context, name string, args ApiSecurityOperationArgs, opts ...ResourceOption) (*ApiSecurityOperation, error)
    public ApiSecurityOperation(string name, ApiSecurityOperationArgs args, CustomResourceOptions? opts = null)
    public ApiSecurityOperation(String name, ApiSecurityOperationArgs args)
    public ApiSecurityOperation(String name, ApiSecurityOperationArgs args, CustomResourceOptions options)
    
    type: fastly:ApiSecurityOperation
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ApiSecurityOperationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ApiSecurityOperationArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ApiSecurityOperationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApiSecurityOperationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApiSecurityOperationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var apiSecurityOperationResource = new Fastly.ApiSecurityOperation("apiSecurityOperationResource", new()
    {
        Domain = "string",
        Method = "string",
        Path = "string",
        ServiceId = "string",
        Description = "string",
        TagIds = new[]
        {
            "string",
        },
    });
    
    example, err := fastly.NewApiSecurityOperation(ctx, "apiSecurityOperationResource", &fastly.ApiSecurityOperationArgs{
    	Domain:      pulumi.String("string"),
    	Method:      pulumi.String("string"),
    	Path:        pulumi.String("string"),
    	ServiceId:   pulumi.String("string"),
    	Description: pulumi.String("string"),
    	TagIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var apiSecurityOperationResource = new ApiSecurityOperation("apiSecurityOperationResource", ApiSecurityOperationArgs.builder()
        .domain("string")
        .method("string")
        .path("string")
        .serviceId("string")
        .description("string")
        .tagIds("string")
        .build());
    
    api_security_operation_resource = fastly.ApiSecurityOperation("apiSecurityOperationResource",
        domain="string",
        method="string",
        path="string",
        service_id="string",
        description="string",
        tag_ids=["string"])
    
    const apiSecurityOperationResource = new fastly.ApiSecurityOperation("apiSecurityOperationResource", {
        domain: "string",
        method: "string",
        path: "string",
        serviceId: "string",
        description: "string",
        tagIds: ["string"],
    });
    
    type: fastly:ApiSecurityOperation
    properties:
        description: string
        domain: string
        method: string
        path: string
        serviceId: string
        tagIds:
            - string
    

    ApiSecurityOperation Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The ApiSecurityOperation resource accepts the following input properties:

    Domain string
    Domain for the operation (exact match). Can be created, but not updated.
    Method string
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    Path string
    Path for the operation (exact match). Can be created, but not updated.
    ServiceId string
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    Description string
    A description of the operation.
    TagIds List<string>
    Associated operation tag IDs.
    Domain string
    Domain for the operation (exact match). Can be created, but not updated.
    Method string
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    Path string
    Path for the operation (exact match). Can be created, but not updated.
    ServiceId string
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    Description string
    A description of the operation.
    TagIds []string
    Associated operation tag IDs.
    domain String
    Domain for the operation (exact match). Can be created, but not updated.
    method String
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    path String
    Path for the operation (exact match). Can be created, but not updated.
    serviceId String
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    description String
    A description of the operation.
    tagIds List<String>
    Associated operation tag IDs.
    domain string
    Domain for the operation (exact match). Can be created, but not updated.
    method string
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    path string
    Path for the operation (exact match). Can be created, but not updated.
    serviceId string
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    description string
    A description of the operation.
    tagIds string[]
    Associated operation tag IDs.
    domain str
    Domain for the operation (exact match). Can be created, but not updated.
    method str
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    path str
    Path for the operation (exact match). Can be created, but not updated.
    service_id str
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    description str
    A description of the operation.
    tag_ids Sequence[str]
    Associated operation tag IDs.
    domain String
    Domain for the operation (exact match). Can be created, but not updated.
    method String
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    path String
    Path for the operation (exact match). Can be created, but not updated.
    serviceId String
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    description String
    A description of the operation.
    tagIds List<String>
    Associated operation tag IDs.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ApiSecurityOperation resource produces the following output properties:

    CreatedAt string
    Created timestamp (when present).
    Id string
    The provider-assigned unique ID for this managed resource.
    LastSeenAt string
    Last seen timestamp (when present).
    OperationId string
    The operation ID.
    Rps double
    Observed requests per second (when present).
    Status string
    Discovery status (when present).
    UpdatedAt string
    Updated timestamp (when present).
    CreatedAt string
    Created timestamp (when present).
    Id string
    The provider-assigned unique ID for this managed resource.
    LastSeenAt string
    Last seen timestamp (when present).
    OperationId string
    The operation ID.
    Rps float64
    Observed requests per second (when present).
    Status string
    Discovery status (when present).
    UpdatedAt string
    Updated timestamp (when present).
    createdAt String
    Created timestamp (when present).
    id String
    The provider-assigned unique ID for this managed resource.
    lastSeenAt String
    Last seen timestamp (when present).
    operationId String
    The operation ID.
    rps Double
    Observed requests per second (when present).
    status String
    Discovery status (when present).
    updatedAt String
    Updated timestamp (when present).
    createdAt string
    Created timestamp (when present).
    id string
    The provider-assigned unique ID for this managed resource.
    lastSeenAt string
    Last seen timestamp (when present).
    operationId string
    The operation ID.
    rps number
    Observed requests per second (when present).
    status string
    Discovery status (when present).
    updatedAt string
    Updated timestamp (when present).
    created_at str
    Created timestamp (when present).
    id str
    The provider-assigned unique ID for this managed resource.
    last_seen_at str
    Last seen timestamp (when present).
    operation_id str
    The operation ID.
    rps float
    Observed requests per second (when present).
    status str
    Discovery status (when present).
    updated_at str
    Updated timestamp (when present).
    createdAt String
    Created timestamp (when present).
    id String
    The provider-assigned unique ID for this managed resource.
    lastSeenAt String
    Last seen timestamp (when present).
    operationId String
    The operation ID.
    rps Number
    Observed requests per second (when present).
    status String
    Discovery status (when present).
    updatedAt String
    Updated timestamp (when present).

    Look up Existing ApiSecurityOperation Resource

    Get an existing ApiSecurityOperation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ApiSecurityOperationState, opts?: CustomResourceOptions): ApiSecurityOperation
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            domain: Optional[str] = None,
            last_seen_at: Optional[str] = None,
            method: Optional[str] = None,
            operation_id: Optional[str] = None,
            path: Optional[str] = None,
            rps: Optional[float] = None,
            service_id: Optional[str] = None,
            status: Optional[str] = None,
            tag_ids: Optional[Sequence[str]] = None,
            updated_at: Optional[str] = None) -> ApiSecurityOperation
    func GetApiSecurityOperation(ctx *Context, name string, id IDInput, state *ApiSecurityOperationState, opts ...ResourceOption) (*ApiSecurityOperation, error)
    public static ApiSecurityOperation Get(string name, Input<string> id, ApiSecurityOperationState? state, CustomResourceOptions? opts = null)
    public static ApiSecurityOperation get(String name, Output<String> id, ApiSecurityOperationState state, CustomResourceOptions options)
    resources:  _:    type: fastly:ApiSecurityOperation    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreatedAt string
    Created timestamp (when present).
    Description string
    A description of the operation.
    Domain string
    Domain for the operation (exact match). Can be created, but not updated.
    LastSeenAt string
    Last seen timestamp (when present).
    Method string
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    OperationId string
    The operation ID.
    Path string
    Path for the operation (exact match). Can be created, but not updated.
    Rps double
    Observed requests per second (when present).
    ServiceId string
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    Status string
    Discovery status (when present).
    TagIds List<string>
    Associated operation tag IDs.
    UpdatedAt string
    Updated timestamp (when present).
    CreatedAt string
    Created timestamp (when present).
    Description string
    A description of the operation.
    Domain string
    Domain for the operation (exact match). Can be created, but not updated.
    LastSeenAt string
    Last seen timestamp (when present).
    Method string
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    OperationId string
    The operation ID.
    Path string
    Path for the operation (exact match). Can be created, but not updated.
    Rps float64
    Observed requests per second (when present).
    ServiceId string
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    Status string
    Discovery status (when present).
    TagIds []string
    Associated operation tag IDs.
    UpdatedAt string
    Updated timestamp (when present).
    createdAt String
    Created timestamp (when present).
    description String
    A description of the operation.
    domain String
    Domain for the operation (exact match). Can be created, but not updated.
    lastSeenAt String
    Last seen timestamp (when present).
    method String
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    operationId String
    The operation ID.
    path String
    Path for the operation (exact match). Can be created, but not updated.
    rps Double
    Observed requests per second (when present).
    serviceId String
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    status String
    Discovery status (when present).
    tagIds List<String>
    Associated operation tag IDs.
    updatedAt String
    Updated timestamp (when present).
    createdAt string
    Created timestamp (when present).
    description string
    A description of the operation.
    domain string
    Domain for the operation (exact match). Can be created, but not updated.
    lastSeenAt string
    Last seen timestamp (when present).
    method string
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    operationId string
    The operation ID.
    path string
    Path for the operation (exact match). Can be created, but not updated.
    rps number
    Observed requests per second (when present).
    serviceId string
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    status string
    Discovery status (when present).
    tagIds string[]
    Associated operation tag IDs.
    updatedAt string
    Updated timestamp (when present).
    created_at str
    Created timestamp (when present).
    description str
    A description of the operation.
    domain str
    Domain for the operation (exact match). Can be created, but not updated.
    last_seen_at str
    Last seen timestamp (when present).
    method str
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    operation_id str
    The operation ID.
    path str
    Path for the operation (exact match). Can be created, but not updated.
    rps float
    Observed requests per second (when present).
    service_id str
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    status str
    Discovery status (when present).
    tag_ids Sequence[str]
    Associated operation tag IDs.
    updated_at str
    Updated timestamp (when present).
    createdAt String
    Created timestamp (when present).
    description String
    A description of the operation.
    domain String
    Domain for the operation (exact match). Can be created, but not updated.
    lastSeenAt String
    Last seen timestamp (when present).
    method String
    HTTP method for the operation (e.g. GET, POST). Can be created, but not updated.
    operationId String
    The operation ID.
    path String
    Path for the operation (exact match). Can be created, but not updated.
    rps Number
    Observed requests per second (when present).
    serviceId String
    Service ID the operation belongs to. To import, use: \n\n/\n\n.
    status String
    Discovery status (when present).
    tagIds List<String>
    Associated operation tag IDs.
    updatedAt String
    Updated timestamp (when present).

    Import

    API Security operations can be imported using a composite ID of the form <service_id>/<operation_id>, e.g.

    $ pulumi import fastly:index/apiSecurityOperation:ApiSecurityOperation example <service_id>/<operation_id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Fastly pulumi/pulumi-fastly
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the fastly Terraform Provider.
    fastly logo
    Viewing docs for Fastly v12.0.0
    published on Monday, Apr 20, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.