func()

in pkg/cmd/describe_integration.go [100:183]


func (command *describeIntegrationCommandOptions) describeIntegration(cmd *cobra.Command, i v1.Integration) (string, error) {
	return indentedwriter.IndentedString(func(out io.Writer) error {
		w := indentedwriter.NewWriter(cmd.OutOrStdout())

		describeObjectMeta(w, i.ObjectMeta)

		w.Writef(0, "Phase:\t%s\n", i.Status.Phase)
		w.Writef(0, "Runtime Version:\t%s\n", i.Status.RuntimeVersion)
		kit := ""
		if i.Status.IntegrationKit != nil {
			ns := i.GetIntegrationKitNamespace(nil)
			kit = fmt.Sprintf("%s/%s", ns, i.Status.IntegrationKit.Name)
		}
		w.Writef(0, "Kit:\t%s\n", kit)
		w.Writef(0, "Image:\t%s\n", i.Status.Image)
		w.Writef(0, "Version:\t%s\n", i.Status.Version)

		if len(i.Spec.Configuration) > 0 {
			w.Writef(0, "Configuration:\n")
			for _, config := range i.Spec.Configuration {
				w.Writef(1, "Type:\t%s\n", config.Type)
				w.Writef(1, "Value:\t%s\n", config.Value)
			}
		}

		if len(i.Status.Dependencies) > 0 {
			w.Writef(0, "Dependencies:\n")
			for _, dependency := range i.Status.Dependencies {
				w.Writef(1, "%s\n", dependency)
			}
		}

		if len(i.Spec.Repositories) > 0 {
			w.Writef(0, "Repositories:\n")
			for _, repository := range i.Spec.Repositories {
				w.Writef(1, "%s\n", repository)
			}
		}

		if len(i.AllSources()) > 0 {
			w.Writef(0, "Sources:\n")
			if command.showSourceContent {
				for _, s := range i.AllSources() {
					w.Writef(1, "Name:\t%s\n", s.Name)
					w.Writef(1, "Language:\t%s\n", s.InferLanguage())
					w.Writef(1, "Compression:\t%t\n", s.Compression)
					w.Writef(1, "Content:\n")

					if s.ContentRef == "" {
						w.Writef(2, "%s\n", strings.TrimSpace(s.Content))
					} else {
						w.Writef(2, "Ref:\t%s\n", s.ContentRef)
						w.Writef(2, "Ref Key:\t%s\n", s.ContentKey)
					}
				}
			} else {
				//nolint:dupword
				w.Writef(1, "Name\tLanguage\tCompression\tRef\tRef Key\n")
				for _, s := range i.AllSources() {
					w.Writef(1, "%s\t%s\t%t\t%s\t%s\n",
						s.Name,
						s.InferLanguage(),
						s.Compression,
						s.ContentRef,
						s.ContentKey)
				}
			}
		}

		if len(i.Status.Conditions) > 0 {
			w.Writef(0, "Conditions:\n")
			w.Writef(1, "Type\tStatus\tReason\tMessage\n")
			for _, condition := range i.Status.Conditions {
				w.Writef(1, "%s\t%s\t%s\t%s\n",
					condition.Type,
					condition.Status,
					condition.Reason,
					condition.Message)
			}
		}

		return describeTraits(w, i.Spec.Traits)
	})
}