func()

in flag.go [119:271]


func (flag FlagSet) DescribeCLI(mode Mode) string {
	args := []string{string(mode)}

	// The following flags are skipped eiter not interesting, or might contain sensitive info:
	// - flagOutputDir
	// - flagDevProvider
	// - flagBackendConfig
	// - all hflags

	if flag.flagSubscriptionId != "" {
		args = append(args, "--subscription=*")
	}
	if flag.flagOverwrite {
		args = append(args, "--overwrite=true")
	}
	if flag.flagAppend {
		args = append(args, "--append=true")
	}
	if flag.flagProviderVersion != "" {
		args = append(args, fmt.Sprintf(`-provider-version=%s`, flag.flagProviderVersion))
	}
	if flag.flagProviderName != "" {
		args = append(args, fmt.Sprintf(`-provider-name=%s`, flag.flagProviderName))
	}
	if flag.flagBackendType != "" {
		args = append(args, "--backend-type="+flag.flagBackendType)
	}
	if flag.flagFullConfig {
		args = append(args, "--full-properties=true")
	}
	if flag.flagMaskSensitive {
		args = append(args, "--mask-sensitive=true")
	}
	if flag.flagParallelism != 0 {
		args = append(args, fmt.Sprintf("--parallelism=%d", flag.flagParallelism))
	}
	if flag.flagNonInteractive {
		args = append(args, "--non-interactive=true")
	}
	if flag.flagPlainUI {
		args = append(args, "--plain-ui=true")
	}
	if flag.flagContinue {
		args = append(args, "--continue=true")
	}
	if flag.flagGenerateMappingFile {
		args = append(args, "--generate-mapping-file=true")
	}
	if flag.flagHCLOnly {
		args = append(args, "--hcl-only=true")
	}
	if flag.flagModulePath != "" {
		args = append(args, "--module-path="+flag.flagModulePath)
	}
	if !flag.flagGenerateImportBlock {
		args = append(args, "--generate-import-block=true")
	}

	if flag.flagEnv != "" {
		args = append(args, "--env="+flag.flagEnv)
	}
	if flag.flagTenantId != "" {
		args = append(args, "--tenant-id=*")
	}
	if v := flag.flagAuxiliaryTenantIds.Value(); len(v) != 0 {
		args = append(args, fmt.Sprintf("--tenant-id=[%d]", len(v)))
	}
	if flag.flagClientId != "" {
		args = append(args, "--client-id=*")
	}
	if flag.flagClientIdFilePath != "" {
		args = append(args, "--client-id-file-path="+flag.flagClientIdFilePath)
	}
	if flag.flagClientCertificate != "" {
		args = append(args, "--client-certificate=*")
	}
	if flag.flagClientCertificatePath != "" {
		args = append(args, "--client-certificate-path="+flag.flagClientCertificatePath)
	}
	if flag.flagClientCertificatePassword != "" {
		args = append(args, "--client-certificate-password=*")
	}
	if flag.flagClientSecret != "" {
		args = append(args, "--client-secret=***")
	}
	if flag.flagClientSecretFilePath != "" {
		args = append(args, "--client-secret-file-path="+flag.flagClientSecretFilePath)
	}
	if flag.flagOIDCRequestToken != "" {
		args = append(args, "--oidc-request-token=*")
	}
	if flag.flagOIDCRequestURL != "" {
		args = append(args, "--oidc-request-url="+flag.flagOIDCRequestURL)
	}
	if flag.flagOIDCTokenFilePath != "" {
		args = append(args, "--oidc-token-file-path="+flag.flagOIDCTokenFilePath)
	}
	if flag.flagOIDCToken != "" {
		args = append(args, "--oidc-token=*")
	}
	if flag.flagUseManagedIdentityCred {
		args = append(args, "--use-managed-identity-cred=true")
	}
	if flag.flagUseAzureCLICred {
		args = append(args, "--use-azure-cli-cred=true")
	}
	if flag.flagUseOIDCCred {
		args = append(args, "--use-oidc-cred=true")
	}

	if flag.hflagTFClientPluginPath != "" {
		args = append(args, "--tfclient-plugin-path="+flag.hflagTFClientPluginPath)
	}
	switch mode {
	case ModeResource:
		if flag.flagResName != "" {
			args = append(args, "--name="+flag.flagResName)
		}
		if flag.flagResType != "" {
			args = append(args, "--type="+flag.flagResType)
		}
		if flag.flagPattern != "" {
			args = append(args, "--name-pattern="+flag.flagPattern)
		}
	case ModeResourceGroup:
		if flag.flagPattern != "" {
			args = append(args, "--name-pattern="+flag.flagPattern)
		}
		if flag.flagIncludeRoleAssignment {
			args = append(args, "--include-role-assignment=true")
		}
	case ModeQuery:
		if flag.flagPattern != "" {
			args = append(args, "--name-pattern="+flag.flagPattern)
		}
		if flag.flagRecursive {
			args = append(args, "--recursive=true")
		}
		if flag.flagIncludeRoleAssignment {
			args = append(args, "--include-role-assignment=true")
		}
		if flag.flagIncludeResourceGroup {
			args = append(args, "--include-resource-group=true")
		}
		if flag.flagARGTable != "" {
			args = append(args, "--arg-table="+flag.flagARGTable)
		}
		if flag.flagARGAuthorizationScopeFilter != "" {
			args = append(args, "--arg-authorization-scope-filter="+flag.flagARGAuthorizationScopeFilter)
		}
	}
	return "aztfexport " + strings.Join(args, " ")
}