Show / Hide Table of Contents

Namespace Pulumi.Fastly

Classes

Config

GetFastlyIpRanges

GetFastlyIpRangesResult

Provider

The provider type for the fastly package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

ProviderArgs

ServiceACLEntriesv1

Defines a set of Fastly ACL entries that can be used to populate a service ACL. This resource will populate an ACL with the entries and will track their state.

ServiceACLEntriesv1Args

ServiceACLEntriesv1State

ServiceDictionaryItemsv1

Defines a map of Fastly dictionary items that can be used to populate a service dictionary. This resource will populate a dictionary with the items and will track their state.

ServiceDictionaryItemsv1Args

ServiceDictionaryItemsv1State

ServiceDynamicSnippetContentv1

Defines content that represents blocks of VCL logic that is inserted into your service. This resource will populate the content of a dynamic snippet and allow it to be manged without the creation of a new service verison.

ServiceDynamicSnippetContentv1Args

ServiceDynamicSnippetContentv1State

Servicev1

Provides a Fastly Service, representing the configuration for a website, app, API, or anything else to be served through Fastly. A Service encompasses Domains and Backends.

The Service resource requires a domain name that is correctly set up to direct traffic to the Fastly service. See Fastly's guide on [Adding CNAME Records][fastly-cname] on their documentation site for guidance.

Example Usage

Basic usage

using Pulumi;
using Fastly = Pulumi.Fastly;

class MyStack : Stack
{
public MyStack()
{
    var demo = new Fastly.Servicev1("demo", new Fastly.Servicev1Args
    {
        Backends = 
        {
            new Fastly.Inputs.Servicev1BackendArgs
            {
                Address = "127.0.0.1",
                Name = "localhost",
                Port = 80,
            },
        },
        Domains = 
        {
            new Fastly.Inputs.Servicev1DomainArgs
            {
                Comment = "demo",
                Name = "demo.notexample.com",
            },
        },
        ForceDestroy = true,
    });
}

}

Basic usage with custom VCL:

using System.IO;
using Pulumi;
using Fastly = Pulumi.Fastly;

class MyStack : Stack
{
public MyStack()
{
    var demo = new Fastly.Servicev1("demo", new Fastly.Servicev1Args
    {
        Backends = 
        {
            new Fastly.Inputs.Servicev1BackendArgs
            {
                Address = "127.0.0.1",
                Name = "localhost",
                Port = 80,
            },
        },
        Domains = 
        {
            new Fastly.Inputs.Servicev1DomainArgs
            {
                Comment = "demo",
                Name = "demo.notexample.com",
            },
        },
        ForceDestroy = true,
        Vcls = 
        {
            new Fastly.Inputs.Servicev1VclArgs
            {
                Content = File.ReadAllText($"{path.Module}/my_custom_main.vcl"),
                Main = true,
                Name = "my_custom_main_vcl",
            },
            new Fastly.Inputs.Servicev1VclArgs
            {
                Content = File.ReadAllText($"{path.Module}/my_custom_library.vcl"),
                Name = "my_custom_library_vcl",
            },
        },
    });
}

}

Basic usage with custom Director

using Pulumi;
using Fastly = Pulumi.Fastly;

class MyStack : Stack
{
public MyStack()
{
    var demo = new Fastly.Servicev1("demo", new Fastly.Servicev1Args
    {
        Backends = 
        {
            new Fastly.Inputs.Servicev1BackendArgs
            {
                Address = "127.0.0.1",
                Name = "origin1",
                Port = 80,
            },
            new Fastly.Inputs.Servicev1BackendArgs
            {
                Address = "127.0.0.2",
                Name = "origin2",
                Port = 80,
            },
        },
        Directors = 
        {
            new Fastly.Inputs.Servicev1DirectorArgs
            {
                Backends = 
                {
                    "origin1",
                    "origin2",
                },
                Name = "mydirector",
                Quorum = 0,
                Type = 3,
            },
        },
        Domains = 
        {
            new Fastly.Inputs.Servicev1DomainArgs
            {
                Comment = "demo",
                Name = "demo.notexample.com",
            },
        },
        ForceDestroy = true,
    });
}

}

Servicev1Args

Servicev1State

Userv1

Provides a Fastly User, representing the configuration for a user account for interacting with Fastly.

The User resource requires a login and name, and optionally a role.

Example Usage

using Pulumi;
using Fastly = Pulumi.Fastly;

class MyStack : Stack
{
public MyStack()
{
    var demo = new Fastly.Userv1("demo", new Fastly.Userv1Args
    {
        Login = "demo@example.com",
    });
}

}

Userv1Args

Userv1State

Back to top Copyright 2016-2020, Pulumi Corporation.