func GetOAuthClientCreateOptions()

in cobra/aid/oAuthClient.go [43:130]


func GetOAuthClientCreateOptions(cmd *cobra.Command) tfe.OAuthClientCreateOptions {
	var options tfe.OAuthClientCreateOptions

	// The base URL of your VCS provider's API.
	apiURL, err := cmd.Flags().GetString("api-url")
	if err != nil {
		logrus.Fatalf("unable to get flag api-url")
	}

	if apiURL != "" {
		options.APIURL = &apiURL
	}

	// The homepage of your VCS provider.
	httpURL, err := cmd.Flags().GetString("http-url")
	if err != nil {
		logrus.Fatalf("unable to get flag http-url")
	}

	if httpURL != "" {
		options.HTTPURL = &httpURL
	}

	// The token string you were given by your VCS provider.
	oAuthToken, err := cmd.Flags().GetString("o-auth-token")
	if err != nil {
		logrus.Fatalf("unable to get flag o-auth-token")
	}

	if oAuthToken != "" {
		options.OAuthToken = &oAuthToken
	}

	// Private key associated with this vcs provider - only available for azure-devops-server
	privateKey, err := cmd.Flags().GetString("private-key")
	if err != nil {
		logrus.Fatalf("unable to get flag private-key")
	}

	if privateKey != "" {
		options.PrivateKey = &privateKey
	}

	// The VCS provider being connected with.
	serviceProvider, err := cmd.Flags().GetString("service-provider")
	if err != nil {
		logrus.Fatalf("unable to get flag service-provider")
	}

	if serviceProvider != "" {
		var sp tfe.ServiceProviderType

		if serviceProvider == "azure-devops-server" {
			sp = tfe.ServiceProviderAzureDevOpsServer
		}
		if serviceProvider == "azure-devops-services" {
			sp = tfe.ServiceProviderAzureDevOpsServices
		}
		if serviceProvider == "bitbucket-hosted" {
			sp = tfe.ServiceProviderBitbucket
		}
		if serviceProvider == "bitbucket-server" {
			sp = tfe.ServiceProviderBitbucketServer
		}
		if serviceProvider == "bitbucket-server-legacy" {
			sp = tfe.ServiceProviderBitbucketServerLegacy
		}
		if serviceProvider == "github" {
			sp = tfe.ServiceProviderGithub
		}
		if serviceProvider == "github-enterprise" {
			sp = tfe.ServiceProviderGithubEE
		}
		if serviceProvider == "gitlab-hosted" {
			sp = tfe.ServiceProviderGitlab
		}
		if serviceProvider == "gitlab-community-edition" {
			sp = tfe.ServiceProviderGitlabCE
		}
		if serviceProvider == "gitlab-enterprise-edition" {
			sp = tfe.ServiceProviderGitlabEE
		}

		options.ServiceProvider = &sp
	}

	return options
}