structs

package
v1.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const StackConfigVendorAnsible = "StackConfigVendorAnsible" // #nosec G101 not a credential

StackConfigVendorAnsible is a graphql union typename.

View Source
const StackConfigVendorCloudFormation = "StackConfigVendorCloudFormation"

StackConfigVendorCloudFormation is a graphql union typename.

View Source
const StackConfigVendorKubernetes = "StackConfigVendorKubernetes"

StackConfigVendorKubernetes is a graphql union typename.

View Source
const StackConfigVendorPulumi = "StackConfigVendorPulumi"

StackConfigVendorPulumi is a graphql union typename.

View Source
const StackConfigVendorTerraform = "StackConfigVendorTerraform"

StackConfigVendorTerraform is a graphql union typename.

View Source
const StackConfigVendorTerragrunt = "StackConfigVendorTerragrunt"

StackConfigVendorTerragrunt is a graphql union typename.

Variables

View Source
var SavedFilterTypes = []string{
	"stacks",
	"blueprints",
	"contexts",
	"webhooks",
}

Functions

func PopulateDeleteStackSchedule added in v0.1.28

func PopulateDeleteStackSchedule(d *schema.ResourceData, sd *ScheduledStackDelete) error

func PopulateStack added in v1.0.0

func PopulateStack(d *schema.ResourceData, stack *Stack) error

func PopulateTaskSchedule added in v0.1.28

func PopulateTaskSchedule(d *schema.ResourceData, t *ScheduledTask) error

Types

type AWSIntegration added in v0.1.20

type AWSIntegration struct {
	ID                          string   `graphql:"id"`
	DurationSeconds             int      `graphql:"durationSeconds"`
	GenerateCredentialsInWorker bool     `graphql:"generateCredentialsInWorker"`
	ExternalID                  string   `graphql:"externalId"`
	Labels                      []string `graphql:"labels"`
	Name                        string   `graphql:"name"`
	RoleARN                     string   `graphql:"roleArn"`
	Space                       string   `graphql:"space"`
}

AWSIntegration represents an integration with AWS.

func (*AWSIntegration) PopulateResourceData added in v0.1.20

func (i *AWSIntegration) PopulateResourceData(d *schema.ResourceData)

PopulateResourceData populates Terraform resource data with the contents of the AWSIntegration.

func (*AWSIntegration) ToMap added in v0.1.31

func (i *AWSIntegration) ToMap() map[string]interface{}

type AWSIntegrationAttachment added in v0.1.20

type AWSIntegrationAttachment struct {
	ID       string `graphql:"id"`
	StackID  string `graphql:"stackId"`
	IsModule bool   `graphql:"isModule"`
	Read     bool   `graphql:"read"`
	Write    bool   `graphql:"write"`
}

AWSIntegrationAttachment is a single AWS integration stack or module attachment.

func (*AWSIntegrationAttachment) PopulateResourceData added in v0.1.20

func (i *AWSIntegrationAttachment) PopulateResourceData(d *schema.ResourceData)

PopulateResourceData populates Terraform resource data with the contents of the AWSIntegration attachment.

type AnsibleInput added in v0.1.19

type AnsibleInput struct {
	Playbook graphql.String `json:"playbook"`
}

AnsibleInput represents Ansible-specific configuration.

type AuditTrailWebhook added in v1.9.0

type AuditTrailWebhook struct {
	AuditTrailWebhookRead
	// CustomHeaders is used only for create/update, API doesn't return them back.
	CustomHeaders StringMap `graphql:"customHeaders"`
}

type AuditTrailWebhookInput added in v1.9.0

type AuditTrailWebhookInput struct {
	Enabled       graphql.Boolean `json:"enabled"`
	Endpoint      graphql.String  `json:"endpoint"`
	IncludeRuns   graphql.Boolean `json:"includeRuns"`
	Secret        graphql.String  `json:"secret"`
	CustomHeaders *StringMap      `json:"customHeaders"`
}

type AuditTrailWebhookRead added in v1.16.0

type AuditTrailWebhookRead struct {
	Enabled     bool   `graphql:"enabled"`
	Endpoint    string `graphql:"endpoint"`
	IncludeRuns bool   `graphql:"includeRuns"`
	Secret      string `graphql:"secret"`
}

type AzureIntegration added in v0.1.8

type AzureIntegration struct {
	ID                    string   `graphql:"id"`
	AdminConsentProvided  bool     `graphql:"adminConsentProvided"`
	AdminConsentURL       string   `graphql:"adminConsentURL"`
	ApplicationID         string   `graphql:"applicationId"`
	DefaultSubscriptionID *string  `graphql:"defaultSubscriptionId"`
	DisplayName           string   `graphql:"displayName"`
	Labels                []string `graphql:"labels"`
	Name                  string   `graphql:"name"`
	TenantID              string   `graphql:"tenantId"`
	Space                 string   `graphql:"space"`
}

AzureIntegration represents an Azure identity provided by the Spacelift integration.

func (*AzureIntegration) PopulateResourceData added in v0.1.8

func (i *AzureIntegration) PopulateResourceData(d *schema.ResourceData)

PopulateResourceData populates Terraform resource data with the contents of the AzureIntegration.

func (*AzureIntegration) ToMap added in v0.1.31

func (i *AzureIntegration) ToMap() map[string]interface{}

type AzureIntegrationAttachment added in v0.1.8

type AzureIntegrationAttachment struct {
	ID             string  `graphql:"id"`
	StackID        string  `graphql:"stackId"`
	IsModule       bool    `graphql:"isModule"`
	Read           bool    `graphql:"read"`
	SubscriptionID *string `graphql:"subscriptionId"`
	Write          bool    `graphql:"write"`
}

AzureIntegrationAttachment is a single Azure integration stack or module attachment.

func (*AzureIntegrationAttachment) PopulateResourceData added in v0.1.8

func (i *AzureIntegrationAttachment) PopulateResourceData(d *schema.ResourceData)

PopulateResourceData populates Terraform resource data with the contents of the AzureIntegration attachment.

type BitbucketDatacenterIntegration added in v1.10.0

type BitbucketDatacenterIntegration struct {
	ID        string `graphql:"id"`
	Name      string `graphql:"name"`
	IsDefault bool   `graphql:"isDefault"`
	Space     struct {
		ID string `graphql:"id"`
	} `graphql:"space"`
	Labels         []string `graphql:"labels"`
	Description    *string  `graphql:"description"`
	APIHost        string   `graphql:"apiHost"`
	Username       string   `graphql:"username"`
	UserFacingHost string   `graphql:"userFacingHost"`
	WebhookSecret  string   `graphql:"webhookSecret"`
	WebhookURL     string   `graphql:"webhookURL"`
	VCSChecks      string   `graphql:"vcsChecks"`
}

BitbucketDatacenterIntegration represents the bitbucket datacenter integration data relevant to the provider.

type Blueprint added in v1.1.0

type Blueprint struct {
	ID          string   `graphql:"id"`
	Space       Space    `graphql:"space"`
	Name        string   `graphql:"name"`
	Description *string  `graphql:"description"`
	RawTemplate *string  `graphql:"rawTemplate"`
	State       string   `graphql:"state"`
	Labels      []string `graphql:"labels"`
}

type BlueprintCreateInput added in v1.1.0

type BlueprintCreateInput struct {
	Space       graphql.ID       `json:"space"`
	Name        graphql.String   `json:"name"`
	State       graphql.String   `json:"state"`
	Description *graphql.String  `json:"description"`
	Labels      []graphql.String `json:"labels"`
	Template    *graphql.String  `json:"template"`
}

type CloudFormationInput

type CloudFormationInput struct {
	EntryTemplateFile graphql.String `json:"entryTemplateFile"`
	Region            graphql.String `json:"region"`
	StackName         graphql.String `json:"stackName"`
	TemplateBucket    graphql.String `json:"templateBucket"`
}

CloudFormationInput represents CloudFormation-specific configuration.

type ConfigElement

type ConfigElement struct {
	ID          string
	Checksum    string
	Type        ConfigType
	Value       *string
	WriteOnly   bool
	Description *string
}

ConfigElement represents a single configuration element.

type ConfigInput

type ConfigInput struct {
	ID          graphql.ID      `json:"id"`
	Type        ConfigType      `json:"type"`
	Value       graphql.String  `json:"value"`
	WriteOnly   graphql.Boolean `json:"writeOnly"`
	Description *graphql.String `json:"description"`
}

ConfigInput represents the input required to create or update a config element.

type ConfigType

type ConfigType string

ConfigType is a type of configuration element.

type Context

type Context struct {
	ID          string   `graphql:"id"`
	Description *string  `graphql:"description"`
	Labels      []string `graphql:"labels"`
	Name        string   `graphql:"name"`
	Space       string   `graphql:"space"`
	Hooks       struct {
		AfterApply    []string `graphql:"afterApply"`
		AfterDestroy  []string `graphql:"afterDestroy"`
		AfterInit     []string `graphql:"afterInit"`
		AfterPerform  []string `graphql:"afterPerform"`
		AfterPlan     []string `graphql:"afterPlan"`
		AfterRun      []string `graphql:"afterRun"`
		BeforeApply   []string `graphql:"beforeApply"`
		BeforeDestroy []string `graphql:"beforeDestroy"`
		BeforeInit    []string `graphql:"beforeInit"`
		BeforePerform []string `graphql:"beforePerform"`
		BeforePlan    []string `graphql:"beforePlan"`
	} `graphql:"hooks"`
}

Context represents the Context data relevant to the provider.

type ContextAttachment

type ContextAttachment struct {
	ID       string `graphql:"id"`
	StackID  string `graphql:"stackId"`
	IsModule bool   `graphql:"isModule"`
	Priority int    `graphql:"priority"`
}

ContextAttachment is a single context attachment embedded in a Context.

type ContextInput added in v1.7.0

type ContextInput struct {
	Name        graphql.String    `json:"name"`
	Description *graphql.String   `json:"description"`
	Hooks       *HooksInput       `json:"hooks"`
	Labels      *[]graphql.String `json:"labels"`
	Space       *graphql.ID       `json:"space"`
}

ContextInput represents the input required to create or update a Context.

type DriftDetectionIntegrationInput added in v0.0.5

type DriftDetectionIntegrationInput struct {
	IgnoreState graphql.Boolean  `json:"ignoreState"`
	Reconcile   graphql.Boolean  `json:"reconcile"`
	Schedule    []graphql.String `json:"schedule"`
	Timezone    *graphql.String  `json:"timezone"`
}

DriftDetectionIntegrationInput represents the input required to create or update a drift detection integration.

type GitLabIntegration added in v1.14.0

type GitLabIntegration struct {
	ID    string `graphql:"id"`
	Name  string `graphql:"name"`
	Space struct {
		ID string `graphql:"id"`
	} `graphql:"space"`
	IsDefault      bool     `graphql:"isDefault"`
	Labels         []string `graphql:"labels"`
	Description    *string  `graphql:"description"`
	APIHost        string   `graphql:"apiHost"`
	UserFacingHost string   `graphql:"userFacingHost"`
	WebhookSecret  string   `graphql:"webhookSecret"`
	WebhookURL     string   `graphql:"webhookUrl"`
	VCSChecks      string   `graphql:"vcsChecks"`
}

GitLabIntegration represents an GitLab identity provided by the Spacelift integration.

type HooksInput added in v1.7.0

type HooksInput struct {
	AfterApply    []graphql.String `json:"afterApply"`
	AfterDestroy  []graphql.String `json:"afterDestroy"`
	AfterInit     []graphql.String `json:"afterInit"`
	AfterPerform  []graphql.String `json:"afterPerform"`
	AfterPlan     []graphql.String `json:"afterPlan"`
	AfterRun      []graphql.String `json:"afterRun"`
	BeforeApply   []graphql.String `json:"beforeApply"`
	BeforeDestroy []graphql.String `json:"beforeDestroy"`
	BeforeInit    []graphql.String `json:"beforeInit"`
	BeforePerform []graphql.String `json:"beforePerform"`
	BeforePlan    []graphql.String `json:"beforePlan"`
}

HooksInput represents the input required to create or update Hooks.

type Integrations

type Integrations struct {
	AWS struct {
		AssumedRoleARN              *string `graphql:"assumedRoleArn"`
		AssumeRolePolicyStatement   string  `graphql:"assumeRolePolicyStatement"`
		ExternalID                  *string `graphql:"externalID"`
		GenerateCredentialsInWorker bool    `graphql:"generateCredentialsInWorker"`
		DurationSeconds             *int    `graphql:"durationSeconds"`
	} `graphql:"aws"`
	DriftDetection struct {
		IgnoreState bool     `graphql:"ignoreState"`
		Reconcile   bool     `graphql:"reconcile"`
		Schedule    []string `graphql:"schedule"`
		Timezone    string   `graphql:"timezone"`
	} `graphql:"driftDetection"`
	GCP struct {
		ServiceAccountEmail *string  `graphql:"serviceAccountEmail"`
		TokenScopes         []string `graphql:"tokenScopes"`
	} `graphql:"gcp"`
	Webhooks []struct {
		ID       string `graphql:"id"`
		Enabled  bool   `graphql:"enabled"`
		Endpoint string `graphql:"endpoint"`
		Secret   string `graphql:"secret"`
	} `graphql:"webhooks"`
}

Integrations represents external integrations for a Stack and a Module.

type KeyValuePair added in v1.1.4

type KeyValuePair struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

KeyValuePair is used in map representations for graphql requests.

type KubernetesInput added in v0.1.12

type KubernetesInput struct {
	Namespace      graphql.String  `json:"namespace"`
	KubectlVersion *graphql.String `json:"kubectlVersion"`
}

KubernetesInput represents Kubernetes-specific configuration.

type ManagedUserGroupCreateInput added in v1.5.0

type ManagedUserGroupCreateInput struct {
	Name        graphql.String         `json:"groupName"`
	AccessRules []SpaceAccessRuleInput `json:"accessRules"`
}

type ManagedUserGroupUpdateInput added in v1.5.0

type ManagedUserGroupUpdateInput struct {
	ID          graphql.ID             `json:"id"`
	AccessRules []SpaceAccessRuleInput `json:"accessRules"`
}

type ManagedUserInviteInput added in v1.6.0

type ManagedUserInviteInput struct {
	InvitationEmail *graphql.String        `json:"invitationEmail"`
	Username        graphql.String         `json:"username"`
	AccessRules     []SpaceAccessRuleInput `json:"accessRules"`
}

type ManagedUserUpdateInput added in v1.6.0

type ManagedUserUpdateInput struct {
	ID          graphql.ID             `json:"id"`
	AccessRules []SpaceAccessRuleInput `json:"accessRules"`
}

type Module

type Module struct {
	ID                  string       `graphql:"id"`
	Administrative      bool         `graphql:"administrative"`
	Branch              string       `graphql:"branch"`
	Description         *string      `graphql:"description"`
	Integrations        Integrations `graphql:"integrations"`
	Labels              []string     `graphql:"labels"`
	LocalPreviewEnabled bool         `graphql:"localPreviewEnabled"`
	Name                string       `graphql:"name"`
	Namespace           string       `graphql:"namespace"`
	ProjectRoot         *string      `graphql:"projectRoot"`
	ProtectFromDeletion bool         `graphql:"protectFromDeletion"`
	Provider            VCSProvider  `graphql:"provider"`
	Repository          string       `graphql:"repository"`
	RepositoryURL       *string      `graphql:"repositoryURL"`
	SharedAccounts      []string     `graphql:"sharedAccounts"`
	Space               string       `graphql:"space"`
	TerraformProvider   string       `graphql:"terraformProvider"`
	VCSIntegration      *struct {
		ID        string `graphql:"id"`
		IsDefault bool   `graphql:"isDefault"`
	} `graphql:"vcsIntegration"`
	WorkerPool *struct {
		ID string `graphql:"id"`
	} `graphql:"workerPool"`
	WorkflowTool *string `graphql:"workflowTool"`
}

Module represents the Module data relevant to the provider.

func (*Module) ExportVCSSettings added in v0.1.9

func (m *Module) ExportVCSSettings(d *schema.ResourceData) error

ExportVCSSettings exports VCS settings into Terraform schema.

type ModuleCreateInput

type ModuleCreateInput struct {
	UpdateInput       ModuleUpdateInput `json:"updateInput"`
	Name              *graphql.String   `json:"name"`
	Namespace         *graphql.String   `json:"namespace"`
	Provider          *graphql.String   `json:"provider"`
	Repository        graphql.String    `json:"repository"`
	RepositoryURL     *graphql.String   `json:"repositoryURL"`
	TerraformProvider *graphql.String   `json:"terraformProvider"`
	Space             *graphql.String   `json:"space"`
	VCSIntegrationID  *graphql.ID       `json:"vcsIntegrationId"`
	WorkflowTool      *graphql.String   `json:"workflowTool"`
}

ModuleCreateInput represents the input required to create a Module.

type ModuleUpdateInput

type ModuleUpdateInput struct {
	Administrative      graphql.Boolean   `json:"administrative"`
	Branch              graphql.String    `json:"branch"`
	Description         *graphql.String   `json:"description"`
	Labels              *[]graphql.String `json:"labels"`
	LocalPreviewEnabled graphql.Boolean   `json:"localPreviewEnabled"`
	ProjectRoot         *graphql.String   `json:"projectRoot"`
	ProtectFromDeletion graphql.Boolean   `json:"protectFromDeletion"`
	SharedAccounts      *[]graphql.String `json:"sharedAccounts"`
	WorkerPool          *graphql.ID       `json:"workerPool"`
	Space               *graphql.String   `json:"space"`
}

ModuleUpdateInput represents the input required to update a Module.

type ModuleUpdateV2Input added in v0.1.28

type ModuleUpdateV2Input struct {
	Administrative      graphql.Boolean   `json:"administrative"`
	Branch              graphql.String    `json:"branch"`
	Description         *graphql.String   `json:"description"`
	Labels              *[]graphql.String `json:"labels"`
	LocalPreviewEnabled graphql.Boolean   `json:"localPreviewEnabled"`
	Namespace           *graphql.String   `json:"namespace"`
	ProjectRoot         *graphql.String   `json:"projectRoot"`
	ProtectFromDeletion graphql.Boolean   `json:"protectFromDeletion"`
	Provider            *graphql.String   `json:"provider"`
	Repository          graphql.String    `json:"repository"`
	RepositoryURL       *graphql.String   `json:"repositoryURL"`
	SharedAccounts      *[]graphql.String `json:"sharedAccounts"`
	Space               *graphql.String   `json:"space"`
	VCSIntegrationID    *graphql.ID       `json:"vcsIntegrationId"`
	WorkerPool          *graphql.ID       `json:"workerPool"`
	WorkflowTool        *graphql.String   `json:"workflowTool"`
}

ModuleUpdateV2Input represents the input required to update a Module, including the source.

type NamedWebhookHeaderInput added in v1.1.4

type NamedWebhookHeaderInput struct {
	Entries []KeyValuePair `json:"entries"`
}

NamedWebhookHeaderInput represents the input required to set a secret header.

type NamedWebhooksIntegration added in v0.1.34

type NamedWebhooksIntegration struct {
	ID            string   `graphql:"id" json:"id"`
	Enabled       bool     `graphql:"enabled" json:"enabled"`
	Endpoint      string   `graphql:"endpoint" json:"endpoint"`
	Space         Space    `graphql:"space" json:"space"`
	Name          string   `graphql:"name" json:"name"`
	Secret        string   `graphql:"secret" json:"secret"`
	SecretHeaders []string `graphql:"secretHeaders" json:"secretHeaders"`
	Labels        []string `graphql:"labels" json:"labels"`
}

WebhooksIntegration represents the input required to create or update a webhook.

type NamedWebhooksIntegrationInput added in v0.1.34

type NamedWebhooksIntegrationInput struct {
	Enabled  graphql.Boolean  `json:"enabled"`
	Endpoint graphql.String   `json:"endpoint"`
	Space    graphql.ID       `json:"space"`
	Name     graphql.String   `json:"name"`
	Secret   graphql.String   `json:"secret"`
	Labels   []graphql.String `json:"labels"`
}

WebhooksIntegrationInput represents the input required to create or update a webhook.

type Policy

type Policy struct {
	ID          string   `graphql:"id"`
	Labels      []string `graphql:"labels"`
	Name        string   `graphql:"name"`
	Body        string   `graphql:"body"`
	Type        string   `graphql:"type"`
	Space       string   `graphql:"space"`
	Description string   `graphql:"description"`
}

Policy represents Policy data relevant to the provider.

type PolicyAttachment

type PolicyAttachment struct {
	ID       string `graphql:"id"`
	StackID  string `graphql:"stackId"`
	IsModule bool   `graphql:"isModule"`
}

PolicyAttachment is a single policy attachment embedded in a Policy.

type PolicyCreateInput added in v1.10.1

type PolicyCreateInput struct {
	PolicyUpdateInput
	Type PolicyType `json:"type"`
}

func NewPolicyCreateInput added in v1.10.1

func NewPolicyCreateInput(name, body graphql.String, policyType PolicyType) PolicyCreateInput

type PolicyType

type PolicyType string

PolicyType represents a policy type.

type PolicyUpdateInput added in v1.10.1

type PolicyUpdateInput struct {
	Name        graphql.String    `json:"name"`
	Body        graphql.String    `json:"body"`
	Labels      *[]graphql.String `json:"labels"`
	Space       *graphql.ID       `json:"space"`
	Description *graphql.String   `json:"description"`
}

func NewPolicyUpdateInput added in v1.10.1

func NewPolicyUpdateInput(name, body graphql.String) PolicyUpdateInput

type PulumiInput

type PulumiInput struct {
	LoginURL  graphql.String `json:"loginURL"`
	StackName graphql.String `json:"stackName"`
}

PulumiInput represents Pulumi-specific configuration.

type SavedFilter added in v1.10.0

type SavedFilter struct {
	ID        string `graphql:"id"`
	Name      string `graphql:"name"`
	Data      string `graphql:"data"`
	Type      string `graphql:"type"`
	IsPublic  bool   `graphql:"isPublic"`
	CreatedBy string `graphql:"createdBy"`
}

SavedFilter represents SavedFilter data relevant to the provider.

type SavedFilterInput added in v1.10.0

type SavedFilterInput struct {
	Name     graphql.String  `json:"name"`
	Data     graphql.String  `json:"data"`
	Type     graphql.String  `json:"type"`
	IsPublic graphql.Boolean `json:"isPublic"`
}

SavedFilterInput represents the input required to create a saved filter.

type SavedFilterType added in v1.10.0

type SavedFilterType string

SavedFilterType represents a saved filter type.

type ScheduledDeleteInput added in v0.1.28

type ScheduledDeleteInput struct {
	ShouldDeleteResources graphql.Boolean `json:"shouldDeleteResources"`
	TimestampSchedule     *graphql.Int    `json:"timestampSchedule"`
}

ScheduledDeleteInput represents the input for creating/updating a scheduled stack_delete.

type ScheduledStackDelete added in v0.1.28

type ScheduledStackDelete struct {
	ID                    string
	ShouldDeleteResources graphql.Boolean `json:"shouldDeleteResources"`
	TimestampSchedule     graphql.Int     `json:"timestampSchedule"`
}

ScheduledStackDelete represents a scheduled delete.

type ScheduledTask added in v0.1.28

type ScheduledTask struct {
	ID                string           `json:"id"`
	Command           graphql.String   `json:"command"`
	CronSchedule      []graphql.String `json:"cronSchedule"`
	TimestampSchedule graphql.Int      `json:"timestampSchedule"`
	Timezone          *graphql.String  `json:"timezone"`
}

ScheduledTask represents a scheduled task.

type ScheduledTaskInput added in v0.1.28

type ScheduledTaskInput struct {
	Command           graphql.String   `json:"command"`
	CronSchedule      []graphql.String `json:"cronSchedule"`
	TimestampSchedule *graphql.Int     `json:"timestampSchedule"`
	Timezone          *graphql.String  `json:"timezone"`
}

ScheduledTaskInput represents the input for creating/updating a scheduled task.

type SecurityEmail added in v1.9.0

type SecurityEmail struct {
	Email string `graphql:"email"`
}

type Space added in v0.1.21

type Space struct {
	ID              string   `graphql:"id"`
	Description     string   `graphql:"description"`
	Name            string   `graphql:"name"`
	InheritEntities bool     `graphql:"inheritEntities"`
	ParentSpace     *string  `graphql:"parentSpace"`
	Labels          []string `graphql:"labels"`
}

Space represents the Space data relevant to the provider.

type SpaceAccessLevel added in v1.5.0

type SpaceAccessLevel string

type SpaceAccessRule added in v1.5.0

type SpaceAccessRule struct {
	Space            string `graphql:"space"`
	SpaceAccessLevel string `graphql:"spaceAccessLevel"`
}

type SpaceAccessRuleInput added in v1.5.0

type SpaceAccessRuleInput struct {
	Space            graphql.ID       `json:"space"`
	SpaceAccessLevel SpaceAccessLevel `json:"spaceAccessLevel"`
}

type SpaceInput added in v0.1.21

type SpaceInput struct {
	Description     graphql.String    `json:"description"`
	Name            graphql.String    `json:"name"`
	InheritEntities graphql.Boolean   `json:"inheritEntities"`
	ParentSpace     graphql.ID        `json:"parentSpace"`
	Labels          *[]graphql.String `json:"labels"`
}

SpaceInput represents input relevant to creating or updating the Space.

type Stack

type Stack struct {
	ID                           string        `graphql:"id"`
	Administrative               bool          `graphql:"administrative"`
	AfterApply                   []string      `graphql:"afterApply"`
	AfterDestroy                 []string      `graphql:"afterDestroy"`
	AfterInit                    []string      `graphql:"afterInit"`
	AfterPerform                 []string      `graphql:"afterPerform"`
	AfterPlan                    []string      `graphql:"afterPlan"`
	AfterRun                     []string      `graphql:"afterRun"`
	Autodeploy                   bool          `graphql:"autodeploy"`
	Autoretry                    bool          `graphql:"autoretry"`
	BeforeApply                  []string      `graphql:"beforeApply"`
	BeforeDestroy                []string      `graphql:"beforeDestroy"`
	BeforeInit                   []string      `graphql:"beforeInit"`
	BeforePerform                []string      `graphql:"beforePerform"`
	BeforePlan                   []string      `graphql:"beforePlan"`
	Branch                       string        `graphql:"branch"`
	Deleting                     bool          `graphql:"deleting"`
	Description                  *string       `graphql:"description"`
	IsDisabled                   bool          `graphql:"isDisabled"`
	GitHubActionDeploy           bool          `graphql:"githubActionDeploy"`
	Integrations                 *Integrations `graphql:"integrations"`
	Labels                       []string      `graphql:"labels"`
	LocalPreviewEnabled          bool          `graphql:"localPreviewEnabled"`
	EnableWellKnownSecretMasking bool          `graphql:"enableWellKnownSecretMasking"`
	ManagesStateFile             bool          `graphql:"managesStateFile"`
	Name                         string        `graphql:"name"`
	Namespace                    string        `graphql:"namespace"`
	ProjectRoot                  *string       `graphql:"projectRoot"`
	AdditionalProjectGlobs       []string      `graphql:"additionalProjectGlobs"`
	ProtectFromDeletion          bool          `graphql:"protectFromDeletion"`
	Provider                     VCSProvider   `graphql:"provider"`
	Repository                   string        `graphql:"repository"`
	RepositoryURL                *string       `graphql:"repositoryURL"`
	RunnerImage                  *string       `graphql:"runnerImage"`
	Space                        string        `graphql:"space"`
	TerraformVersion             *string       `graphql:"terraformVersion"`
	VCSIntegration               *struct {
		ID        string `graphql:"id"`
		IsDefault bool   `graphql:"isDefault"`
	} `graphql:"vcsIntegration"`
	VendorConfig struct {
		Typename string `graphql:"__typename"`
		Ansible  struct {
			Playbook string `graphql:"playbook"`
		} `graphql:"... on StackConfigVendorAnsible"`
		CloudFormation struct {
			EntryTemplateName string `graphql:"entryTemplateFile"`
			Region            string `graphql:"region"`
			StackName         string `graphql:"stackName"`
			TemplateBucket    string `graphql:"templateBucket"`
		} `graphql:"... on StackConfigVendorCloudFormation"`
		Kubernetes struct {
			Namespace      string  `graphql:"namespace"`
			KubectlVersion *string `graphql:"kubectlVersion"`
		} `graphql:"... on StackConfigVendorKubernetes"`
		Pulumi struct {
			LoginURL  string `graphql:"loginURL"`
			StackName string `graphql:"stackName"`
		} `graphql:"... on StackConfigVendorPulumi"`
		Terraform struct {
			UseSmartSanitization       bool    `graphql:"useSmartSanitization"`
			Version                    *string `graphql:"version"`
			WorkflowTool               *string `graphql:"workflowTool"`
			Workspace                  *string `graphql:"workspace"`
			ExternalStateAccessEnabled bool    `graphql:"externalStateAccessEnabled"`
		} `graphql:"... on StackConfigVendorTerraform"`
		Terragrunt struct {
			TerraformVersion     *string `graphql:"terraformVersion"`
			TerragruntVersion    *string `graphql:"terragruntVersion"`
			UseRunAll            bool    `graphql:"useRunAll"`
			UseSmartSanitization bool    `graphql:"useSmartSanitization"`
			Tool                 string  `graphql:"tool"`
		} `graphql:"... on StackConfigVendorTerragrunt"`
	} `graphql:"vendorConfig"`
	WorkerPool *struct {
		ID string `graphql:"id"`
	} `graphql:"workerPool"`
}

Stack represents the Stack data relevant to the provider.

func (*Stack) ExportVCSSettings added in v0.1.9

func (s *Stack) ExportVCSSettings(d *schema.ResourceData) error

ExportVCSSettings exports VCS settings into Terraform schema.

func (*Stack) IaCSettings added in v0.1.33

func (s *Stack) IaCSettings() (string, map[string]interface{})

IaC returns IaC settings of a stack.

func (*Stack) VCSSettings added in v0.1.33

func (s *Stack) VCSSettings() (string, map[string]interface{})

VCSSettings returns VCS settings of a stack.

type StackDependency added in v0.1.27

type StackDependency struct {
	ID             string                `graphql:"id"`
	Stack          StackDependencyDetail `graphql:"stack"`
	DependsOnStack StackDependencyDetail `graphql:"dependsOnStack"`
}

type StackDependencyDetail added in v0.1.32

type StackDependencyDetail struct {
	ID string `graphql:"id"`
}

type StackDependencyInput added in v0.1.27

type StackDependencyInput struct {
	StackID          graphql.ID `json:"stackId"`
	DependsOnStackID graphql.ID `json:"dependsOnStackId"`
}

type StackDependencyReference added in v1.3.0

type StackDependencyReference struct {
	ID            string          `graphql:"id"`
	OutputName    string          `graphql:"outputName"`
	InputName     string          `graphql:"inputName"`
	Type          string          `graphql:"type"`
	TriggerAlways graphql.Boolean `json:"triggerAlways"`
}

type StackDependencyReferenceInput added in v1.3.0

type StackDependencyReferenceInput struct {
	OutputName    graphql.String  `json:"outputName"`
	InputName     graphql.String  `json:"inputName"`
	Type          graphql.String  `json:"type"`
	TriggerAlways graphql.Boolean `json:"triggerAlways"`
}

type StackDependencyReferenceUpdateInput added in v1.3.0

type StackDependencyReferenceUpdateInput struct {
	ID            graphql.ID      `json:"id"`
	OutputName    graphql.String  `json:"outputName"`
	InputName     graphql.String  `json:"inputName"`
	Type          graphql.String  `json:"type"`
	TriggerAlways graphql.Boolean `json:"triggerAlways"`
}

type StackInput

type StackInput struct {
	Administrative               graphql.Boolean    `json:"administrative"`
	AfterApply                   *[]graphql.String  `json:"afterApply"`
	AfterDestroy                 *[]graphql.String  `json:"afterDestroy"`
	AfterInit                    *[]graphql.String  `json:"afterInit"`
	AfterPerform                 *[]graphql.String  `json:"afterPerform"`
	AfterPlan                    *[]graphql.String  `json:"afterPlan"`
	AfterRun                     *[]graphql.String  `json:"afterRun"`
	Autodeploy                   graphql.Boolean    `json:"autodeploy"`
	Autoretry                    graphql.Boolean    `json:"autoretry"`
	BeforeApply                  *[]graphql.String  `json:"beforeApply"`
	BeforeDestroy                *[]graphql.String  `json:"beforeDestroy"`
	BeforeInit                   *[]graphql.String  `json:"beforeInit"`
	BeforePerform                *[]graphql.String  `json:"beforePerform"`
	BeforePlan                   *[]graphql.String  `json:"beforePlan"`
	Branch                       graphql.String     `json:"branch"`
	Description                  *graphql.String    `json:"description"`
	GitHubActionDeploy           graphql.Boolean    `json:"githubActionDeploy"`
	Labels                       *[]graphql.String  `json:"labels"`
	LocalPreviewEnabled          graphql.Boolean    `json:"localPreviewEnabled"`
	EnableWellKnownSecretMasking graphql.Boolean    `json:"enableWellKnownSecretMasking"`
	Name                         graphql.String     `json:"name"`
	Namespace                    *graphql.String    `json:"namespace"`
	ProjectRoot                  *graphql.String    `json:"projectRoot"`
	AddditionalProjectGlobs      *[]graphql.String  `json:"additionalProjectGlobs"`
	ProtectFromDeletion          graphql.Boolean    `json:"protectFromDeletion"`
	Provider                     *graphql.String    `json:"provider"`
	Repository                   graphql.String     `json:"repository"`
	RepositoryURL                *graphql.String    `json:"repositoryURL"`
	RunnerImage                  *graphql.String    `json:"runnerImage"`
	Space                        *graphql.String    `json:"space"`
	VCSIntegrationID             *graphql.ID        `json:"vcsIntegrationId"`
	VendorConfig                 *VendorConfigInput `json:"vendorConfig"`
	WorkerPool                   *graphql.ID        `json:"workerPool"`
}

StackInput represents the input required to create or update a Stack.

type StringMap added in v1.16.0

type StringMap struct {
	Entries []KeyValuePair `json:"entries"`
}

func (StringMap) ToStdMap added in v1.16.0

func (m StringMap) ToStdMap() map[string]string

type TerraformInput

type TerraformInput struct {
	UseSmartSanitization       *graphql.Boolean `json:"useSmartSanitization"`
	Version                    *graphql.String  `json:"version"`
	WorkflowTool               *graphql.String  `json:"workflowTool"`
	Workspace                  *graphql.String  `json:"workspace"`
	ExternalStateAccessEnabled *graphql.Boolean `json:"externalStateAccessEnabled"`
}

TerraformInput represents Terraform-specific configuration.

type TerraformProvider added in v0.1.36

type TerraformProvider struct {
	ID          string   `graphql:"id"`
	Description *string  `graphql:"description"`
	Labels      []string `graphql:"labels"`
	Public      bool     `graphql:"public"`
	Space       string   `graphql:"space"`
}

TerraformProvider represents the data about a Terraform provider.

type TerragruntInput added in v1.1.7

type TerragruntInput struct {
	TerraformVersion     *graphql.String `json:"terraformVersion"`
	TerragruntVersion    *graphql.String `json:"terragruntVersion"`
	UseRunAll            graphql.Boolean `json:"useRunAll"`
	UseSmartSanitization graphql.Boolean `json:"useSmartSanitization"`
	Tool                 *graphql.String `json:"tool"`
}

type User added in v1.6.0

type User struct {
	ID              string            `graphql:"id"`
	InvitationEmail string            `graphql:"invitationEmail"`
	Username        string            `graphql:"username"`
	AccessRules     []SpaceAccessRule `graphql:"accessRules"`
}

type UserGroup added in v1.5.0

type UserGroup struct {
	ID          string            `graphql:"id"`
	Name        string            `graphql:"groupName"`
	AccessRules []SpaceAccessRule `graphql:"accessRules"`
}

type VCSAgentPool added in v0.1.6

type VCSAgentPool struct {
	ID          string  `graphql:"id"`
	Config      *string `graphql:"config"`
	Description *string `graphql:"description"`
	Name        string  `graphql:"name"`
}

VCSAgentPool represents the VCS Agent Pool data relevant to the provider.

type VCSProvider added in v1.9.0

type VCSProvider string
const (
	// VCSProviderAzureDevOps represents Azure DevOps VCS provider.
	VCSProviderAzureDevOps VCSProvider = "AZURE_DEVOPS"

	// VCSProviderBitbucketDatacenter represents Bitbucket Datacenter
	// (self-hosted) VCS provider.
	VCSProviderBitbucketDatacenter VCSProvider = "BITBUCKET_DATACENTER"

	// VCSProviderBitbucketCloud represents Bitbucket Cloud (managed) VCS
	// provider.
	VCSProviderBitbucketCloud VCSProvider = "BITBUCKET_CLOUD"

	// VCSProviderGitHub represents GitHub VCS provider.
	VCSProviderGitHub VCSProvider = "GITHUB"

	// VCSProviderGitHubEnterprise represents GitHub Enterprise (self-hosted)
	// VCS provider.
	VCSProviderGitHubEnterprise VCSProvider = "GITHUB_ENTERPRISE"

	// VCSProviderGitlab represents GitLab VCS provider.
	VCSProviderGitlab VCSProvider = "GITLAB"

	// VCSProviderRawGit represents raw Git link VCS provider.
	VCSProviderRawGit VCSProvider = "GIT"

	// VCSProviderShowcases represents the showcases provider.
	VCSProviderShowcases VCSProvider = "SHOWCASE"
)

type VendorConfigInput

type VendorConfigInput struct {
	AnsibleInput        *AnsibleInput        `json:"ansible"`
	CloudFormationInput *CloudFormationInput `json:"cloudFormation"`
	Kubernetes          *KubernetesInput     `json:"kubernetes"`
	Pulumi              *PulumiInput         `json:"pulumi"`
	Terraform           *TerraformInput      `json:"terraform"`
	TerragruntInput     *TerragruntInput     `json:"terragrunt"`
}

VendorConfigInput represents vendor-specific configuration.

type WebhooksIntegrationInput

type WebhooksIntegrationInput struct {
	Enabled  graphql.Boolean `json:"enabled"`
	Endpoint graphql.String  `json:"endpoint"`
	Secret   graphql.String  `json:"secret"`
}

WebhooksIntegrationInput represents the input required to create or update a webhook.

type WorkerPool

type WorkerPool struct {
	ID          string   `graphql:"id"`
	Config      string   `graphql:"config"`
	Name        string   `graphql:"name"`
	Description *string  `graphql:"description"`
	Labels      []string `graphql:"labels"`
	Space       string   `graphql:"space"`
}

WorkerPool represents the WorkerPool data relevant to the provider.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL