func CheckTfStateType()

in cli/pkg/config/tf_state.go [30:72]


func CheckTfStateType(conf *Config, bucketNameNetwork string, bucketNameFleet string, bucketNameClusters string) error {
	if conf.TerraformState == "cloud" {
		if bucketNameNetwork == "" {
			bucketNameNetwork = "tf-state-network-" + strings.ToLower(randstr.String(6))
			err := createTfStorage(conf.ClustersProjectID, bucketNameNetwork)
			if err != nil {
				return err
			}
			log.Infof("✅ Created a bucket for the Network TF State: %s", bucketNameNetwork)
		}
		err := createTfBackend(bucketNameNetwork, "network/backend.tf")
		if err != nil {
			return err
		}
		if bucketNameFleet == "" {
			bucketNameFleet = "tf-state-fleet-" + strings.ToLower(randstr.String(6))
			err := createTfStorage(conf.ClustersProjectID, bucketNameFleet)
			if err != nil {
				return err
			}
			log.Infof("✅ Created a bucket for the Fleet TF State: %s", bucketNameFleet)
		}
		err = createTfBackend(bucketNameFleet, "fleet/backend.tf")
		if err != nil {
			return err
		}
		if bucketNameClusters == "" {
			bucketNameClusters = "tf-state-clusters-" + strings.ToLower(randstr.String(6))
			err := createTfStorage(conf.ClustersProjectID, bucketNameClusters)
			if err != nil {
				return err
			}
			log.Infof("✅ Created a bucket for the Clusters TF State: %s", bucketNameFleet)
		}
		err = createTfBackend(bucketNameClusters, "clusters/backend.tf")
		if err != nil {
			return err
		}
		log.Infof("✅ Created Cluster TF State backend file in bucket: %s", bucketNameClusters)
		return nil
	}
	return nil
}