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",
});
}
}