azure

package
v0.0.1-rc2 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ListKeyVaultsGenerator = &model.Generator{
	Id:     uuid.New(),
	Script: "az keyvault list -o json",
	PostProcess: func(s string) []model.TermSuggestion {
		suggestions := []model.TermSuggestion{}

		vaults := []azListKeyvaultsResponse{}
		if err := json.Unmarshal([]byte(s), &vaults); err != nil {
			slog.Error("unable to load list keyvault response", slog.String("error", err.Error()))
			return suggestions
		}

		for _, vault := range vaults {
			if vault.VaultName == nil {
				continue
			}
			suggestions = append(suggestions, model.TermSuggestion{
				Name:        `"` + *vault.VaultName + `"`,
				Description: "Azure Key Vault",
			})
		}
		return suggestions
	},
}
View Source
var ListKeyVaultsKeysGenerator = &model.Generator{
	Id:        uuid.New(),
	SkipCache: true,
	Function: func(cmdTokens []string) []model.TermSuggestion {
		suggestions := []model.TermSuggestion{}
		var vaultName *string = nil
		for idx, token := range cmdTokens {
			if strings.TrimSpace(token) == "--vault-name" && idx+1 < len(cmdTokens) {
				vaultName = &cmdTokens[idx+1]
			}
		}

		if vaultName == nil {
			return suggestions
		}

		output, err := exec.Command("az", fmt.Sprintf("keyvault key list --vault-name %s -o json", *vaultName)).Output()
		if err != nil {
			slog.Error("unable to request list keys", slog.String("error", err.Error()))
			return suggestions
		}
		keys := []azListKeyvaultKeysResponse{}

		if err := json.Unmarshal([]byte(output), &keys); err != nil {
			slog.Error("unable to load list keys response", slog.String("error", err.Error()))
			return suggestions
		}

		for _, key := range keys {
			if key.KeyName == nil {
				continue
			}
			suggestions = append(suggestions, model.TermSuggestion{
				Name:        `"` + *key.KeyName + `"`,
				Description: "Azure Key Vault",
			})
		}
		return suggestions
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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