1. Packages
  2. Gcore Provider
  3. API Docs
  4. CdnOriginGroup
Viewing docs for gcore 2.0.0-alpha.1
published on Monday, Mar 9, 2026 by g-core
gcore logo
Viewing docs for gcore 2.0.0-alpha.1
published on Monday, Mar 9, 2026 by g-core

    CDN origin groups aggregate one or more origin servers with failover and load balancing for content delivery.

    Example Usage

    Basic origin group with primary and backup

    Create a CDN origin group with a primary origin and a backup origin for failover.

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    // Create a CDN origin group with primary and backup origins
    const example = new gcore.CdnOriginGroup("example", {
        name: "my-origin-group",
        useNext: true,
        sources: [
            {
                source: "example.com",
                enabled: true,
                backup: false,
            },
            {
                source: "mirror.example.com",
                enabled: true,
                backup: true,
            },
        ],
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    # Create a CDN origin group with primary and backup origins
    example = gcore.CdnOriginGroup("example",
        name="my-origin-group",
        use_next=True,
        sources=[
            {
                "source": "example.com",
                "enabled": True,
                "backup": False,
            },
            {
                "source": "mirror.example.com",
                "enabled": True,
                "backup": True,
            },
        ])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create a CDN origin group with primary and backup origins
    		_, err := gcore.NewCdnOriginGroup(ctx, "example", &gcore.CdnOriginGroupArgs{
    			Name:    pulumi.String("my-origin-group"),
    			UseNext: pulumi.Bool(true),
    			Sources: gcore.CdnOriginGroupSourceArray{
    				&gcore.CdnOriginGroupSourceArgs{
    					Source:  pulumi.String("example.com"),
    					Enabled: pulumi.Bool(true),
    					Backup:  pulumi.Bool(false),
    				},
    				&gcore.CdnOriginGroupSourceArgs{
    					Source:  pulumi.String("mirror.example.com"),
    					Enabled: pulumi.Bool(true),
    					Backup:  pulumi.Bool(true),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        // Create a CDN origin group with primary and backup origins
        var example = new Gcore.CdnOriginGroup("example", new()
        {
            Name = "my-origin-group",
            UseNext = true,
            Sources = new[]
            {
                new Gcore.Inputs.CdnOriginGroupSourceArgs
                {
                    Source = "example.com",
                    Enabled = true,
                    Backup = false,
                },
                new Gcore.Inputs.CdnOriginGroupSourceArgs
                {
                    Source = "mirror.example.com",
                    Enabled = true,
                    Backup = true,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.CdnOriginGroup;
    import com.pulumi.gcore.CdnOriginGroupArgs;
    import com.pulumi.gcore.inputs.CdnOriginGroupSourceArgs;
    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) {
            // Create a CDN origin group with primary and backup origins
            var example = new CdnOriginGroup("example", CdnOriginGroupArgs.builder()
                .name("my-origin-group")
                .useNext(true)
                .sources(            
                    CdnOriginGroupSourceArgs.builder()
                        .source("example.com")
                        .enabled(true)
                        .backup(false)
                        .build(),
                    CdnOriginGroupSourceArgs.builder()
                        .source("mirror.example.com")
                        .enabled(true)
                        .backup(true)
                        .build())
                .build());
    
        }
    }
    
    resources:
      # Create a CDN origin group with primary and backup origins
      example:
        type: gcore:CdnOriginGroup
        properties:
          name: my-origin-group
          useNext: true
          sources:
            - source: example.com
              enabled: true
              backup: false
            - source: mirror.example.com
              enabled: true
              backup: true
    

    Origin group with S3 authentication

    Create a CDN origin group that pulls content from an S3-compatible bucket using AWS Signature V4 authentication.

    import * as pulumi from "@pulumi/pulumi";
    import * as gcore from "@pulumi/gcore";
    
    const config = new pulumi.Config();
    const s3AccessKey = config.require("s3AccessKey");
    const s3SecretKey = config.require("s3SecretKey");
    // Create an origin group with S3 authentication
    const s3Origin = new gcore.CdnOriginGroup("s3_origin", {
        name: "s3-origin-group",
        authType: "awsSignatureV4",
        auth: {
            s3Type: "amazon",
            s3AccessKeyId: s3AccessKey,
            s3SecretAccessKey: s3SecretKey,
            s3BucketName: "my-bucket",
            s3Region: "eu-west-1",
            s3CredentialsVersion: 1,
        },
    });
    
    import pulumi
    import pulumi_gcore as gcore
    
    config = pulumi.Config()
    s3_access_key = config.require("s3AccessKey")
    s3_secret_key = config.require("s3SecretKey")
    # Create an origin group with S3 authentication
    s3_origin = gcore.CdnOriginGroup("s3_origin",
        name="s3-origin-group",
        auth_type="awsSignatureV4",
        auth={
            "s3_type": "amazon",
            "s3_access_key_id": s3_access_key,
            "s3_secret_access_key": s3_secret_key,
            "s3_bucket_name": "my-bucket",
            "s3_region": "eu-west-1",
            "s3_credentials_version": 1,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/gcore/v2/gcore"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		s3AccessKey := cfg.Require("s3AccessKey")
    		s3SecretKey := cfg.Require("s3SecretKey")
    		// Create an origin group with S3 authentication
    		_, err := gcore.NewCdnOriginGroup(ctx, "s3_origin", &gcore.CdnOriginGroupArgs{
    			Name:     pulumi.String("s3-origin-group"),
    			AuthType: pulumi.String("awsSignatureV4"),
    			Auth: &gcore.CdnOriginGroupAuthArgs{
    				S3Type:               pulumi.String("amazon"),
    				S3AccessKeyId:        pulumi.String(s3AccessKey),
    				S3SecretAccessKey:    pulumi.String(s3SecretKey),
    				S3BucketName:         pulumi.String("my-bucket"),
    				S3Region:             pulumi.String("eu-west-1"),
    				S3CredentialsVersion: pulumi.Float64(1),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcore = Pulumi.Gcore;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var s3AccessKey = config.Require("s3AccessKey");
        var s3SecretKey = config.Require("s3SecretKey");
        // Create an origin group with S3 authentication
        var s3Origin = new Gcore.CdnOriginGroup("s3_origin", new()
        {
            Name = "s3-origin-group",
            AuthType = "awsSignatureV4",
            Auth = new Gcore.Inputs.CdnOriginGroupAuthArgs
            {
                S3Type = "amazon",
                S3AccessKeyId = s3AccessKey,
                S3SecretAccessKey = s3SecretKey,
                S3BucketName = "my-bucket",
                S3Region = "eu-west-1",
                S3CredentialsVersion = 1,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcore.CdnOriginGroup;
    import com.pulumi.gcore.CdnOriginGroupArgs;
    import com.pulumi.gcore.inputs.CdnOriginGroupAuthArgs;
    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) {
            final var config = ctx.config();
            final var s3AccessKey = config.get("s3AccessKey");
            final var s3SecretKey = config.get("s3SecretKey");
            // Create an origin group with S3 authentication
            var s3Origin = new CdnOriginGroup("s3Origin", CdnOriginGroupArgs.builder()
                .name("s3-origin-group")
                .authType("awsSignatureV4")
                .auth(CdnOriginGroupAuthArgs.builder()
                    .s3Type("amazon")
                    .s3AccessKeyId(s3AccessKey)
                    .s3SecretAccessKey(s3SecretKey)
                    .s3BucketName("my-bucket")
                    .s3Region("eu-west-1")
                    .s3CredentialsVersion(1.0)
                    .build())
                .build());
    
        }
    }
    
    configuration:
      s3AccessKey:
        type: string
      s3SecretKey:
        type: string
    resources:
      # Create an origin group with S3 authentication
      s3Origin:
        type: gcore:CdnOriginGroup
        name: s3_origin
        properties:
          name: s3-origin-group
          authType: awsSignatureV4
          auth:
            s3Type: amazon
            s3AccessKeyId: ${s3AccessKey}
            s3SecretAccessKey: ${s3SecretKey}
            s3BucketName: my-bucket
            s3Region: eu-west-1
            s3CredentialsVersion: 1
    

    Create CdnOriginGroup Resource

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

    Constructor syntax

    new CdnOriginGroup(name: string, args?: CdnOriginGroupArgs, opts?: CustomResourceOptions);
    @overload
    def CdnOriginGroup(resource_name: str,
                       args: Optional[CdnOriginGroupArgs] = None,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def CdnOriginGroup(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       auth: Optional[CdnOriginGroupAuthArgs] = None,
                       auth_type: Optional[str] = None,
                       name: Optional[str] = None,
                       proxy_next_upstreams: Optional[Sequence[str]] = None,
                       sources: Optional[Sequence[CdnOriginGroupSourceArgs]] = None,
                       use_next: Optional[bool] = None)
    func NewCdnOriginGroup(ctx *Context, name string, args *CdnOriginGroupArgs, opts ...ResourceOption) (*CdnOriginGroup, error)
    public CdnOriginGroup(string name, CdnOriginGroupArgs? args = null, CustomResourceOptions? opts = null)
    public CdnOriginGroup(String name, CdnOriginGroupArgs args)
    public CdnOriginGroup(String name, CdnOriginGroupArgs args, CustomResourceOptions options)
    
    type: gcore:CdnOriginGroup
    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 CdnOriginGroupArgs
    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 CdnOriginGroupArgs
    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 CdnOriginGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args CdnOriginGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args CdnOriginGroupArgs
    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 cdnOriginGroupResource = new Gcore.CdnOriginGroup("cdnOriginGroupResource", new()
    {
        Auth = new Gcore.Inputs.CdnOriginGroupAuthArgs
        {
            S3AccessKeyId = "string",
            S3BucketName = "string",
            S3CredentialsVersion = 0,
            S3SecretAccessKey = "string",
            S3Type = "string",
            S3Region = "string",
            S3StorageHostname = "string",
        },
        AuthType = "string",
        Name = "string",
        ProxyNextUpstreams = new[]
        {
            "string",
        },
        Sources = new[]
        {
            new Gcore.Inputs.CdnOriginGroupSourceArgs
            {
                Backup = false,
                Enabled = false,
                Source = "string",
            },
        },
        UseNext = false,
    });
    
    example, err := gcore.NewCdnOriginGroup(ctx, "cdnOriginGroupResource", &gcore.CdnOriginGroupArgs{
    	Auth: &gcore.CdnOriginGroupAuthArgs{
    		S3AccessKeyId:        pulumi.String("string"),
    		S3BucketName:         pulumi.String("string"),
    		S3CredentialsVersion: pulumi.Float64(0),
    		S3SecretAccessKey:    pulumi.String("string"),
    		S3Type:               pulumi.String("string"),
    		S3Region:             pulumi.String("string"),
    		S3StorageHostname:    pulumi.String("string"),
    	},
    	AuthType: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	ProxyNextUpstreams: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Sources: gcore.CdnOriginGroupSourceArray{
    		&gcore.CdnOriginGroupSourceArgs{
    			Backup:  pulumi.Bool(false),
    			Enabled: pulumi.Bool(false),
    			Source:  pulumi.String("string"),
    		},
    	},
    	UseNext: pulumi.Bool(false),
    })
    
    var cdnOriginGroupResource = new CdnOriginGroup("cdnOriginGroupResource", CdnOriginGroupArgs.builder()
        .auth(CdnOriginGroupAuthArgs.builder()
            .s3AccessKeyId("string")
            .s3BucketName("string")
            .s3CredentialsVersion(0.0)
            .s3SecretAccessKey("string")
            .s3Type("string")
            .s3Region("string")
            .s3StorageHostname("string")
            .build())
        .authType("string")
        .name("string")
        .proxyNextUpstreams("string")
        .sources(CdnOriginGroupSourceArgs.builder()
            .backup(false)
            .enabled(false)
            .source("string")
            .build())
        .useNext(false)
        .build());
    
    cdn_origin_group_resource = gcore.CdnOriginGroup("cdnOriginGroupResource",
        auth={
            "s3_access_key_id": "string",
            "s3_bucket_name": "string",
            "s3_credentials_version": 0,
            "s3_secret_access_key": "string",
            "s3_type": "string",
            "s3_region": "string",
            "s3_storage_hostname": "string",
        },
        auth_type="string",
        name="string",
        proxy_next_upstreams=["string"],
        sources=[{
            "backup": False,
            "enabled": False,
            "source": "string",
        }],
        use_next=False)
    
    const cdnOriginGroupResource = new gcore.CdnOriginGroup("cdnOriginGroupResource", {
        auth: {
            s3AccessKeyId: "string",
            s3BucketName: "string",
            s3CredentialsVersion: 0,
            s3SecretAccessKey: "string",
            s3Type: "string",
            s3Region: "string",
            s3StorageHostname: "string",
        },
        authType: "string",
        name: "string",
        proxyNextUpstreams: ["string"],
        sources: [{
            backup: false,
            enabled: false,
            source: "string",
        }],
        useNext: false,
    });
    
    type: gcore:CdnOriginGroup
    properties:
        auth:
            s3AccessKeyId: string
            s3BucketName: string
            s3CredentialsVersion: 0
            s3Region: string
            s3SecretAccessKey: string
            s3StorageHostname: string
            s3Type: string
        authType: string
        name: string
        proxyNextUpstreams:
            - string
        sources:
            - backup: false
              enabled: false
              source: string
        useNext: false
    

    CdnOriginGroup 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 CdnOriginGroup resource accepts the following input properties:

    Auth CdnOriginGroupAuth
    Credentials to access the private bucket.
    AuthType string
    Origin authentication type.
    Name string
    Origin group name.
    ProxyNextUpstreams List<string>

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    Sources List<CdnOriginGroupSource>
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    UseNext bool

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    Auth CdnOriginGroupAuthArgs
    Credentials to access the private bucket.
    AuthType string
    Origin authentication type.
    Name string
    Origin group name.
    ProxyNextUpstreams []string

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    Sources []CdnOriginGroupSourceArgs
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    UseNext bool

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth CdnOriginGroupAuth
    Credentials to access the private bucket.
    authType String
    Origin authentication type.
    name String
    Origin group name.
    proxyNextUpstreams List<String>

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources List<CdnOriginGroupSource>
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    useNext Boolean

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth CdnOriginGroupAuth
    Credentials to access the private bucket.
    authType string
    Origin authentication type.
    name string
    Origin group name.
    proxyNextUpstreams string[]

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources CdnOriginGroupSource[]
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    useNext boolean

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth CdnOriginGroupAuthArgs
    Credentials to access the private bucket.
    auth_type str
    Origin authentication type.
    name str
    Origin group name.
    proxy_next_upstreams Sequence[str]

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources Sequence[CdnOriginGroupSourceArgs]
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    use_next bool

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth Property Map
    Credentials to access the private bucket.
    authType String
    Origin authentication type.
    name String
    Origin group name.
    proxyNextUpstreams List<String>

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources List<Property Map>
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    useNext Boolean

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.

    Outputs

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

    CdnOriginGroupId double
    Origin group ID.
    HasRelatedResources bool

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    Id string
    The provider-assigned unique ID for this managed resource.
    CdnOriginGroupId float64
    Origin group ID.
    HasRelatedResources bool

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    Id string
    The provider-assigned unique ID for this managed resource.
    cdnOriginGroupId Double
    Origin group ID.
    hasRelatedResources Boolean

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    id String
    The provider-assigned unique ID for this managed resource.
    cdnOriginGroupId number
    Origin group ID.
    hasRelatedResources boolean

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    id string
    The provider-assigned unique ID for this managed resource.
    cdn_origin_group_id float
    Origin group ID.
    has_related_resources bool

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    id str
    The provider-assigned unique ID for this managed resource.
    cdnOriginGroupId Number
    Origin group ID.
    hasRelatedResources Boolean

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing CdnOriginGroup Resource

    Get an existing CdnOriginGroup 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?: CdnOriginGroupState, opts?: CustomResourceOptions): CdnOriginGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auth: Optional[CdnOriginGroupAuthArgs] = None,
            auth_type: Optional[str] = None,
            cdn_origin_group_id: Optional[float] = None,
            has_related_resources: Optional[bool] = None,
            name: Optional[str] = None,
            proxy_next_upstreams: Optional[Sequence[str]] = None,
            sources: Optional[Sequence[CdnOriginGroupSourceArgs]] = None,
            use_next: Optional[bool] = None) -> CdnOriginGroup
    func GetCdnOriginGroup(ctx *Context, name string, id IDInput, state *CdnOriginGroupState, opts ...ResourceOption) (*CdnOriginGroup, error)
    public static CdnOriginGroup Get(string name, Input<string> id, CdnOriginGroupState? state, CustomResourceOptions? opts = null)
    public static CdnOriginGroup get(String name, Output<String> id, CdnOriginGroupState state, CustomResourceOptions options)
    resources:  _:    type: gcore:CdnOriginGroup    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:
    Auth CdnOriginGroupAuth
    Credentials to access the private bucket.
    AuthType string
    Origin authentication type.
    CdnOriginGroupId double
    Origin group ID.
    HasRelatedResources bool

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    Name string
    Origin group name.
    ProxyNextUpstreams List<string>

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    Sources List<CdnOriginGroupSource>
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    UseNext bool

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    Auth CdnOriginGroupAuthArgs
    Credentials to access the private bucket.
    AuthType string
    Origin authentication type.
    CdnOriginGroupId float64
    Origin group ID.
    HasRelatedResources bool

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    Name string
    Origin group name.
    ProxyNextUpstreams []string

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    Sources []CdnOriginGroupSourceArgs
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    UseNext bool

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth CdnOriginGroupAuth
    Credentials to access the private bucket.
    authType String
    Origin authentication type.
    cdnOriginGroupId Double
    Origin group ID.
    hasRelatedResources Boolean

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    name String
    Origin group name.
    proxyNextUpstreams List<String>

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources List<CdnOriginGroupSource>
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    useNext Boolean

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth CdnOriginGroupAuth
    Credentials to access the private bucket.
    authType string
    Origin authentication type.
    cdnOriginGroupId number
    Origin group ID.
    hasRelatedResources boolean

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    name string
    Origin group name.
    proxyNextUpstreams string[]

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources CdnOriginGroupSource[]
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    useNext boolean

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth CdnOriginGroupAuthArgs
    Credentials to access the private bucket.
    auth_type str
    Origin authentication type.
    cdn_origin_group_id float
    Origin group ID.
    has_related_resources bool

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    name str
    Origin group name.
    proxy_next_upstreams Sequence[str]

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources Sequence[CdnOriginGroupSourceArgs]
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    use_next bool

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.
    auth Property Map
    Credentials to access the private bucket.
    authType String
    Origin authentication type.
    cdnOriginGroupId Number
    Origin group ID.
    hasRelatedResources Boolean

    Defines whether the origin group has related CDN resources.

    Possible values:

    • true - Origin group has related CDN resources.
    • false - Origin group does not have related CDN resources.
    name String
    Origin group name.
    proxyNextUpstreams List<String>

    Defines cases when the request should be passed on to the next origin.

    Possible values:

    • error - an error occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • timeout - a timeout has occurred while establishing a connection with the origin, passing a request to it, or reading the response header
    • invalid_header - a origin returned an empty or invalid response
    • http_403 - a origin returned a response with the code 403
    • http_404 - a origin returned a response with the code 404
    • http_429 - a origin returned a response with the code 429
    • http_500 - a origin returned a response with the code 500
    • http_502 - a origin returned a response with the code 502
    • http_503 - a origin returned a response with the code 503
    • http_504 - a origin returned a response with the code 504
    sources List<Property Map>
    Set of origin sources in the origin group. Duplicates (same source+enabled+backup) are not allowed.
    useNext Boolean

    Defines whether to use the next origin from the origin group if origin responds with the cases specified in proxy_next_upstream. If you enable it, you must specify cases in proxy_next_upstream.

    Possible values:

    • true - Option is enabled.
    • false - Option is disabled.

    Supporting Types

    CdnOriginGroupAuth, CdnOriginGroupAuthArgs

    S3AccessKeyId string
    Access key ID for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.
    S3BucketName string

    S3 bucket name.

    Restrictions:

    • Maximum 128 characters.
    S3CredentialsVersion double
    S3SecretAccessKey string

    Secret access key for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.

    Restrictions:

    • Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.
    • If "s3_type": amazon, length should be 40 characters.
    • If "s3_type": other, length should be from 16 to 255 characters.
    S3Type string

    Storage type compatible with S3.

    Possible values:

    • amazon – AWS S3 storage.
    • other – Other (not AWS) S3 compatible storage.
    S3Region string

    S3 storage region.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": amazon.

    S3StorageHostname string

    S3 storage hostname.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": other.

    S3AccessKeyId string
    Access key ID for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.
    S3BucketName string

    S3 bucket name.

    Restrictions:

    • Maximum 128 characters.
    S3CredentialsVersion float64
    S3SecretAccessKey string

    Secret access key for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.

    Restrictions:

    • Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.
    • If "s3_type": amazon, length should be 40 characters.
    • If "s3_type": other, length should be from 16 to 255 characters.
    S3Type string

    Storage type compatible with S3.

    Possible values:

    • amazon – AWS S3 storage.
    • other – Other (not AWS) S3 compatible storage.
    S3Region string

    S3 storage region.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": amazon.

    S3StorageHostname string

    S3 storage hostname.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": other.

    s3AccessKeyId String
    Access key ID for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.
    s3BucketName String

    S3 bucket name.

    Restrictions:

    • Maximum 128 characters.
    s3CredentialsVersion Double
    s3SecretAccessKey String

    Secret access key for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.

    Restrictions:

    • Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.
    • If "s3_type": amazon, length should be 40 characters.
    • If "s3_type": other, length should be from 16 to 255 characters.
    s3Type String

    Storage type compatible with S3.

    Possible values:

    • amazon – AWS S3 storage.
    • other – Other (not AWS) S3 compatible storage.
    s3Region String

    S3 storage region.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": amazon.

    s3StorageHostname String

    S3 storage hostname.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": other.

    s3AccessKeyId string
    Access key ID for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.
    s3BucketName string

    S3 bucket name.

    Restrictions:

    • Maximum 128 characters.
    s3CredentialsVersion number
    s3SecretAccessKey string

    Secret access key for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.

    Restrictions:

    • Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.
    • If "s3_type": amazon, length should be 40 characters.
    • If "s3_type": other, length should be from 16 to 255 characters.
    s3Type string

    Storage type compatible with S3.

    Possible values:

    • amazon – AWS S3 storage.
    • other – Other (not AWS) S3 compatible storage.
    s3Region string

    S3 storage region.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": amazon.

    s3StorageHostname string

    S3 storage hostname.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": other.

    s3_access_key_id str
    Access key ID for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.
    s3_bucket_name str

    S3 bucket name.

    Restrictions:

    • Maximum 128 characters.
    s3_credentials_version float
    s3_secret_access_key str

    Secret access key for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.

    Restrictions:

    • Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.
    • If "s3_type": amazon, length should be 40 characters.
    • If "s3_type": other, length should be from 16 to 255 characters.
    s3_type str

    Storage type compatible with S3.

    Possible values:

    • amazon – AWS S3 storage.
    • other – Other (not AWS) S3 compatible storage.
    s3_region str

    S3 storage region.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": amazon.

    s3_storage_hostname str

    S3 storage hostname.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": other.

    s3AccessKeyId String
    Access key ID for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.
    s3BucketName String

    S3 bucket name.

    Restrictions:

    • Maximum 128 characters.
    s3CredentialsVersion Number
    s3SecretAccessKey String

    Secret access key for the S3 account. This is a write-only field - it will be sent to the API but never stored in state.

    Restrictions:

    • Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and underscores.
    • If "s3_type": amazon, length should be 40 characters.
    • If "s3_type": other, length should be from 16 to 255 characters.
    s3Type String

    Storage type compatible with S3.

    Possible values:

    • amazon – AWS S3 storage.
    • other – Other (not AWS) S3 compatible storage.
    s3Region String

    S3 storage region.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": amazon.

    s3StorageHostname String

    S3 storage hostname.

    The parameter is required, if <span pulumi-lang-nodejs=""s3Type"" pulumi-lang-dotnet=""S3Type"" pulumi-lang-go=""s3Type"" pulumi-lang-python=""s3_type"" pulumi-lang-yaml=""s3Type"" pulumi-lang-java=""s3Type"">"s3_type": other.

    CdnOriginGroupSource, CdnOriginGroupSourceArgs

    Backup bool
    Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.
    Enabled bool

    Enables or disables an origin source in the origin group.

    Possible values:

    • true - Origin is enabled and the CDN uses it to pull content.
    • false - Origin is disabled and the CDN does not use it to pull content.

    Origin group must contain at least one enabled origin.

    Default value is true.

    Source string
    IP address or domain name of the origin and the port, if custom port is used.
    Backup bool
    Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.
    Enabled bool

    Enables or disables an origin source in the origin group.

    Possible values:

    • true - Origin is enabled and the CDN uses it to pull content.
    • false - Origin is disabled and the CDN does not use it to pull content.

    Origin group must contain at least one enabled origin.

    Default value is true.

    Source string
    IP address or domain name of the origin and the port, if custom port is used.
    backup Boolean
    Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.
    enabled Boolean

    Enables or disables an origin source in the origin group.

    Possible values:

    • true - Origin is enabled and the CDN uses it to pull content.
    • false - Origin is disabled and the CDN does not use it to pull content.

    Origin group must contain at least one enabled origin.

    Default value is true.

    source String
    IP address or domain name of the origin and the port, if custom port is used.
    backup boolean
    Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.
    enabled boolean

    Enables or disables an origin source in the origin group.

    Possible values:

    • true - Origin is enabled and the CDN uses it to pull content.
    • false - Origin is disabled and the CDN does not use it to pull content.

    Origin group must contain at least one enabled origin.

    Default value is true.

    source string
    IP address or domain name of the origin and the port, if custom port is used.
    backup bool
    Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.
    enabled bool

    Enables or disables an origin source in the origin group.

    Possible values:

    • true - Origin is enabled and the CDN uses it to pull content.
    • false - Origin is disabled and the CDN does not use it to pull content.

    Origin group must contain at least one enabled origin.

    Default value is true.

    source str
    IP address or domain name of the origin and the port, if custom port is used.
    backup Boolean
    Defines whether the origin is a backup, meaning that it will not be used until one of active origins become unavailable.
    enabled Boolean

    Enables or disables an origin source in the origin group.

    Possible values:

    • true - Origin is enabled and the CDN uses it to pull content.
    • false - Origin is disabled and the CDN does not use it to pull content.

    Origin group must contain at least one enabled origin.

    Default value is true.

    source String
    IP address or domain name of the origin and the port, if custom port is used.

    Import

    $ pulumi import gcore:index/cdnOriginGroup:CdnOriginGroup example '<origin_group_id>'
    

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

    Package Details

    Repository
    gcore g-core/terraform-provider-gcore
    License
    Notes
    This Pulumi package is based on the gcore Terraform Provider.
    gcore logo
    Viewing docs for gcore 2.0.0-alpha.1
    published on Monday, Mar 9, 2026 by g-core
      Try Pulumi Cloud free. Your team will thank you.