Categorygithub.com/liorokman/go-sapcp-destination-client
modulepackage
0.0.0-20241226084417-e2383a993d02
Repository: https://github.com/liorokman/go-sapcp-destination-client.git
Documentation: pkg.go.dev

# README

Golang client for SAP Cloud Platform Destination Services

GoDoc Go Report Card

Based on the published API at https://api.sap.com/api/SAP_CP_CF_Connectivity_Destination/resource.

This library provides a convenient client for accessing the Destination service on the SAP Cloud Platform Cloud Foundry environments.

Usage

  1. The configuration details required for creating a new DestinationClient instance are provided in the destination service binding in the credentials section. The application must create an instance of the destination service, and bind to it in order to access the configuration details.

    cf create-service destination lite example-destination
    
  2. Add the service to the manifest.yml in order to bind to it.

  3. Configure and use the DestinationClient

package main

import (
	"fmt"
	"os"

	destinations "github.com/liorokman/go-sapcp-destination-client"
	"github.com/tidwall/gjson"
)

func main() {

	vcap := os.Getenv("VCAP_SERVICES")
	if vcap == "" {
		fmt.Printf("No VCAP_SERVICES")
		os.Exit(1)
	}
	destinationClient, err := destinations.NewClient(destinations.DestinationClientConfiguration{
		ClientID:     gjson.Get(vcap, "destination.0.credentials.clientid").String(),
		ClientSecret: gjson.Get(vcap, "destination.0.credentials.clientsecret").String(),
		TokenURL:     gjson.Get(vcap, "destination.0.credentials.url").String(),
		ServiceURL:   gjson.Get(vcap, "destination.0.credentials.uri").String(),
	})
	if err != nil {
		panic(err)
	}
	destinations, err := destinationClient.GetSubaccountDestinations()
	if err != nil {
		panic(err)
	}
	for _, dest := range destinations {
		fmt.Printf("Destination: %s(%s)\n", dest.Name, dest.Type)
	}

}

# Packages

No description provided by the author

# Functions

NewClient creates a new DestinationClient object configured according to the provided DestinationClientConfiguration object.

# Constants

Common destination properties.
Property name for the destination Authentication property.
Common destination properties.
Common destination properties.
Property name for destination Description.
HTTPDestination type.
Valid values for the ProxyType property.
LDAPDestination type.
Property name for the LocationID destination property.
MailDestination type.
Common destination properties.
Common destination properties.
Common destination properties.
Common destination properties.
Common destination properties.
Property name for the destination Password property.
Property name for the destination ProxyType property.
Property name for the destination RepositoryPassword property.
Property name for the destination RepositoryUser property.
RFCDestination type.
Common destination properties.
Property name for the destination URL property.
Property name for the destination User property.

# Structs

AffectedRecords contains the number of records affected by the operation.
AuthToken describes an authentication token.
Certificate describes a single certificate.
Destination describes a single Destination.
DestinationClient provides the client object for accessing destinations in the SAP Cloud Platform Cloud Foundry environment.
DestinationClientConfiguration contains the values required for configuring a new Destination client.
DestinationLookupResult contains the result of a find operation.
ErrorMessage struct contains errors returned by the Destination API.
Owner describes the level on which the destination is defined.

# Interfaces

DestinationFinder provides a Find method for discovering destinations on any level.
InstanceCertificateManager provides an interface for methods that manage certificates on the Instance level.
InstanceDestinationManager provides an interface for methods that manage destinations on the Instance level.
SubaccountCertificateManager provides an interface for methods that manage certificates on the Subaccount level.
SubaccountDestinationManager provides an interface for methods that manage destinations on the Subaccount level.

# Type aliases

DestinationType enumeration.