func GetWorkspaceCreateOptions()

in cobra/aid/workspace.go [125:228]


func GetWorkspaceCreateOptions(cmd *cobra.Command) tfe.WorkspaceCreateOptions {
	var options tfe.WorkspaceCreateOptions

	agentPoolID, err := cmd.Flags().GetString("agent-pool-id")
	if err != nil {
		logrus.Fatalf("unable to get flag agent-pool-id\n%v\n", err)
	}
	if agentPoolID != "" {
		options.AgentPoolID = &agentPoolID
	}

	allowDestroyPlan, err := cmd.Flags().GetBool("allow-destroy-plan")
	if err != nil {
		logrus.Fatalf("unable to get flag allow-destroy-plan\n%v\n", err)
	}

	options.AllowDestroyPlan = &allowDestroyPlan

	autoApply, err := cmd.Flags().GetBool("auto-apply")
	if err != nil {
		logrus.Fatalf("unable to get flag auto-apply\n%v\n", err)
	}

	options.AutoApply = &autoApply

	executionMode, err := cmd.Flags().GetString("execution-mode")
	if err != nil {
		logrus.Fatalf("unable to get flag execution-mode\n%v\n", err)
	}
	if executionMode != "" {
		options.ExecutionMode = &executionMode
	}

	fileTriggersEnabled, err := cmd.Flags().GetBool("file-triggers-enabled")
	if err != nil {
		logrus.Fatalf("unable to get flag file-triggers-enabled\n%v\n", err)
	}

	options.FileTriggersEnabled = &fileTriggersEnabled

	migrationEnvironment, err := cmd.Flags().GetString("migration-environment")
	if err != nil {
		logrus.Fatalf("unable to get flag migration-environment\n%v\n", err)
	}
	if migrationEnvironment != "" {
		options.MigrationEnvironment = &migrationEnvironment
	}

	name, err := cmd.Flags().GetString("name")
	if err != nil {
		logrus.Fatalf("unable to get flag name\n%v\n", err)
	}
	if name != "" {
		options.Name = &name
	}

	queueAllRuns, err := cmd.Flags().GetBool("queue-all-runs")
	if err != nil {
		logrus.Fatalf("unable to get flag queue-all-runs\n%v\n", err)
	}

	options.QueueAllRuns = &queueAllRuns

	speculativeEnabled, err := cmd.Flags().GetBool("speculative-enabled")
	if err != nil {
		logrus.Fatalf("unable to get flag speculative-enabled\n%v\n", err)
	}
	if speculativeEnabled {
		options.SpeculativeEnabled = &speculativeEnabled
	}

	terraformVersion, err := cmd.Flags().GetString("terraform-version")
	if err != nil {
		logrus.Fatalf("unable to get flag terraform-version\n%v\n", err)
	}
	if terraformVersion != "" {
		options.TerraformVersion = &terraformVersion
	}

	triggerPrefixes, err := cmd.Flags().GetStringArray("trigger-prefixes")
	if err != nil {
		logrus.Fatalf("unable to get flag trigger-prefixes\n%v\n", err)
	}
	if len(triggerPrefixes) > 0 {
		options.TriggerPrefixes = triggerPrefixes
	}

	repoOptions := GetVCSRepoFlags(cmd)
	// repoOptions := tfe.VCSRepoOptions{}
	if repoOptions != (tfe.VCSRepoOptions{}) {
		options.VCSRepo = &repoOptions
	}

	workingDirectory, err := cmd.Flags().GetString("working-directory")
	if err != nil {
		logrus.Fatalf("unable to get flag working-directory\n%v\n", err)
	}
	if workingDirectory != "" {
		options.WorkingDirectory = &workingDirectory
	}

	return options

}