solution

package
v0.4.0-rc13 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package solution defines the structure for solution settings

Index

Constants

View Source
const (
	DevelopmentEnvironmentName   = "dev"
	PathToFunctionCode           = "./serverless_function_source_code/"
	SettingsFileName             = "settings.yaml"
	SolutionSettingsFileName     = "solution.yaml"
	ServiceSettingsFileName      = "service.yaml"
	InstanceSettingsFileName     = "instance.yaml"
	MicroserviceParentFolderName = "services"
	InstancesFolderName          = "instances"
	RegoConstraintsFolderName    = "constraints"
	SolutionName                 = "ram"
)

Settings file names

Variables

This section is empty.

Functions

This section is empty.

Types

type Settings

type Settings struct {
	Hosting struct {
		OrganizationID   string            `yaml:"organizationID,omitempty"`
		OrganizationIDs  map[string]string `yaml:"organizationIDs"`
		BillingAccountID string            `yaml:"billingAccountID"`
		FolderID         string            `yaml:"folderID,omitempty"`
		FolderIDs        map[string]string `yaml:"folderIDs"`
		ProjectID        string            `yaml:"projectID,omitempty"`
		ProjectLabels    map[string]string `yaml:"projectLabels"`
		ProjectIDs       map[string]string `yaml:"projectIDs"`
		Stackdriver      struct {
			ProjectID  string            `yaml:"projectID,omitempty"`
			ProjectIDs map[string]string `yaml:"projectIDs"`
		}
		Repository struct {
			Name string `valid:"isNotZeroValue"`
		}
		GAE struct {
			Region string `valid:"isNotZeroValue"`
		}
		GCB struct {
			QueueTTL string `yaml:"queueTtl"`
		}
		GCF struct {
			Region string `valid:"isNotZeroValue"`
		}
		GCS struct {
			Buckets struct {
				CAIExport struct {
					Name            string `yaml:",omitempty"`
					Names           map[string]string
					DeleteAgeInDays int64 `yaml:"deleteAgeInDays,omitempty"`
				} `yaml:"CAIExport"`
				AssetsJSONFile struct {
					Name            string `yaml:",omitempty"`
					Names           map[string]string
					DeleteAgeInDays int64 `yaml:"deleteAgeInDays,omitempty"`
				} `yaml:"assetsJSONFile"`
			}
		}
		Bigquery struct {
			Dataset struct {
				Name     string `valid:"isNotZeroValue"`
				Location string `valid:"isNotZeroValue"`
			}
			Views struct {
				IntervalDays int64 `yaml:"intervalDays,omitempty"`
			}
		}
		Pubsub struct {
			TopicNames struct {
				IAMPolicies         string `yaml:"IAMPolicies" valid:"isNotZeroValue"`
				RAMViolation        string `yaml:"RAMViolation" valid:"isNotZeroValue"`
				RAMComplianceStatus string `yaml:"RAMComplianceStatus" valid:"isNotZeroValue"`
				GCIGroupMembers     string `yaml:"GCIGroupMembers"`
				GCIGroupSettings    string `yaml:"GCIGroupSettings"`
			} `yaml:"topicNames"`
		}
		FireStore struct {
			CollectionIDs struct {
				Assets string `valid:"isNotZeroValue"`
			} `yaml:"collectionIDs"`
		}
	}
	Monitoring struct {
		OrganizationIDs []string `yaml:"organizationIDs"`
		LabelKeyNames   struct {
			Owner             string `valid:"isNotZeroValue"`
			ViolationResolver string `yaml:"violationResolver" valid:"isNotZeroValue"`
		} `yaml:"labelKeyNames"`
		DefaultSchedulers map[string]struct {
			JobName  string `yaml:"jobName"`
			Schedule string
		} `yaml:"defaultSchedulers"`
		DirectoryCustomerIDs map[string]struct {
			SuperAdminEmail string `yaml:"superAdminEmail"`
		} `yaml:"directoryCustomerIDs"`
		ListGroupsDefaultSchedulers map[string]struct {
			JobName  string `yaml:"jobName"`
			Schedule string
		} `yaml:"listGroupsDefaultSchedulers"`
		AssetTypes struct {
			IAMPolicies []string `yaml:"iamPolicies"`
			Resources   []string `yaml:"resources"`
		} `yaml:"assetTypes"`
	}
}

Settings settings common to all services / all instances

func (*Settings) Situate

func (settings *Settings) Situate(environmentName string)

Situate set settings from settings based on a given situation Situation is the environment name (string) Set settings are: folderID, projectID, Stackdriver projectID, Buckets names

Jump to

Keyboard shortcuts

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