application

package
v0.9.7 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2018 License: MPL-2.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContainerContainerPath is the uri path for containers
	ContainerContainerPath = "/paas/service/apaas/api/v1.1/apps/%s"
	// ContainerResourcePath is the uri path for a specific container resource
	ContainerResourcePath = "/paas/service/apaas/api/v1.1/apps/%s/%s"
)

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client represents an authenticated application client, with credentials and an api client.

func NewClient

func NewClient(c *opc.Config) (*Client, error)

NewClient returns a new client for the application resources managed by Oracle

func (*Client) ContainerClient

func (c *Client) ContainerClient() *ContainerClient

ContainerClient obtains an ApplicationClient which can be used to access to the Application Container functions of the Application Container API

type Container

type Container struct {
	// ID of the application
	AppID string `json:"appId"`
	// URL of the created application
	AppURL string `json:"appURL"`
	// Creation time of the application
	CreatedTime string `json:"createdTime"`
	// Identity Domain of the application
	IdentityDomain string `json:"identityDomain"`
	// Shows details of all instances currently running.
	Instances []Instance `json:"instances"`
	// Modification time of the application
	LastModifiedTime string `json:"lastModifiedTime"`
	// Shows all deployments currently in progress.
	LatestDeployment Deployment `json:"latestDeployment"`
	// Name of the application
	Name string `json:"name"`
	// Shows all deployments currently running.
	RunningDeployment Deployment `json:"runningDeployment"`
	// Status of the application
	Status string `json:"status"`
	// Type of subscription, Hourly or Monthly
	SubscriptionType SubscriptionType `json:"subscriptionType"`
	// Web URL of the application
	WebURL string `json:"webURL"`
}

Container container information about the application container

type ContainerClient

type ContainerClient struct {
	ResourceClient
	PollInterval time.Duration
	Timeout      time.Duration
}

ContainerClient is a client for the Application container functions of the Application Container API

func (*ContainerClient) CreateApplicationContainer

func (c *ContainerClient) CreateApplicationContainer(input *CreateApplicationContainerInput) (*Container, error)

CreateApplicationContainer creates a new Application Container from an ApplicationClient and an input struct. Returns a populated ApplicationContainer struct for the Application, and any errors

func (*ContainerClient) DeleteApplicationContainer

func (c *ContainerClient) DeleteApplicationContainer(input *DeleteApplicationContainerInput) error

DeleteApplicationContainer deletes the application container with the given name.

func (*ContainerClient) GetApplicationContainer

func (c *ContainerClient) GetApplicationContainer(getInput *GetApplicationContainerInput) (*Container, error)

GetApplicationContainer retrieves the application container with the given name.

func (*ContainerClient) UpdateApplicationContainer

func (c *ContainerClient) UpdateApplicationContainer(input *UpdateApplicationContainerInput) (*Container, error)

UpdateApplicationContainer updates an application container from an ApplicationClient and an input struct. Returns a populated ApplicationContainer struct for the Application, and any errors

func (*ContainerClient) WaitForApplicationContainerDeleted

func (c *ContainerClient) WaitForApplicationContainerDeleted(input *DeleteApplicationContainerInput, pollInterval, timeout time.Duration) error

WaitForApplicationContainerDeleted waits for an application container to be fully deleted.

func (*ContainerClient) WaitForApplicationContainerRunning

func (c *ContainerClient) WaitForApplicationContainerRunning(input *GetApplicationContainerInput, pollInterval, timeoutSeconds time.Duration) (*Container, error)

WaitForApplicationContainerRunning waits for an application container to be completely initialized and ready.

type CreateApplicationContainerAdditionalFields

type CreateApplicationContainerAdditionalFields struct {
	// Location of the application archive file in Oracle Storage Cloud Service, in the format app-name/file-name
	// Optional
	ArchiveURL string
	// Uses Oracle Identity Cloud Service to control who can access your Java SE 7 or 8, Node.js, or PHP application.
	// This should be ApplicationContainerAuthType but because of how we need to translate this strut to a map[string]string we are keeping it as a string
	// Allowed values are 'basic' and 'oauth'.
	// Optional
	AuthType string // ApplicationContainerAuthType
	// Name of the application
	// Required
	Name string
	// Comments on the application deployment
	Notes string
	// Email address to which application deployment status updates are sent.
	NotificationEmail string
	// Repository of the application. The only allowed value is 'dockerhub'.
	// This should be ApplicationRepository but because of how we need to translate this strut to a map[string]string we are keeping it as a string
	// Optional
	Repository string // ApplicationRepository
	// Runtime environment: java (the default), node, php, python, or ruby
	// This should be ApplicationRuntime but because of how we need to translate this strut to a map[string]string we are keeping it as a string
	// Required
	Runtime string // ApplicationRuntime
	// Subscription, either hourly (the default) or monthly
	// This should be ApplicationSubscriptionType but because of how we need to translate this strut to a map[string]string we are keeping it as a string
	// Optional
	SubscriptionType string //ApplicationSubscriptionType
}

CreateApplicationContainerAdditionalFields specifies the additional fields needed to create an application container

type CreateApplicationContainerInput

type CreateApplicationContainerInput struct {
	// The additional fields needed for ApplicationContainer
	AdditionalFields CreateApplicationContainerAdditionalFields
	// Name of the optional deployment file, which specifies memory, number of instances, and service bindings
	// Optional
	Deployment string
	// Name of the manifest file, required if this file is not packaged with the application
	// Optional
	Manifest string
	// Time to wait between checks on application container status
	PollInterval time.Duration
	// Timeout for creating an application container
	Timeout time.Duration
}

CreateApplicationContainerInput specifies the information needed to create an application container

type DeleteApplicationContainerInput

type DeleteApplicationContainerInput struct {
	// Name of the application container
	// Required
	Name string `json:"name"`
	// Time to wait between checks on application container status
	PollInterval time.Duration
	// Timeout to delete an application container
	Timeout time.Duration
}

DeleteApplicationContainerInput specifies the information needed to delete an application container

type Deployment

type Deployment struct {
	// Deployment ID. Use this ID to manage a specific deployment.
	DeploymentID string `json:"deploymentId"`
	// Status of the deployment
	DeploymentStatus string `json:"deploymentStatus"`
	// Deployment URL. Use this URL to get a description of the application deployment.
	DeploymentURL string `json:"deploymentURL"`
}

Deployment specifies individual deployment information on the application container

type GetApplicationContainerInput

type GetApplicationContainerInput struct {
	// Name of the application container
	// Required
	Name string `json:"name"`
}

GetApplicationContainerInput specifies the information needed to get an application container

type Instance

type Instance struct {
	// Instance URL. Use this url to get a description of the application instance.
	InstanceURL string `json:"instanceURL"`
	// Memory of the instance
	Memory string `json:"memory"`
	// Instance Name. Use this name to manage a specific instance.
	Name string `json:"name"`
	// Status of the instance
	Status string `json:"status"`
}

Instance specifies individual instance information on the application container

type ResourceClient

type ResourceClient struct {
	*Client
	ContainerPath    string
	ResourceRootPath string
}

ResourceClient is an AuthenticatedClient with some additional information about the resources to be addressed.

type SubscriptionType

type SubscriptionType string

SubscriptionType are the values available for subscription

const (
	// SubscriptionTypeHourly specifies that the subscription is metered hourly
	SubscriptionTypeHourly SubscriptionType = "HOURLY"
	// SubscriptionTypeMonthly specifies that the subscription is metered monthly
	SubscriptionTypeMonthly SubscriptionType = "MONTHLY"
)

type UpdateApplicationContainerAdditionalFields

type UpdateApplicationContainerAdditionalFields struct {
	// Location of the application archive file in Oracle Storage Cloud Service, in the format app-name/file-name
	// Optional
	ArchiveURL string
	// Comments on the application deployment
	Notes string
}

UpdateApplicationContainerAdditionalFields specifies the additional fields needed to update an application container

type UpdateApplicationContainerInput

type UpdateApplicationContainerInput struct {
	// Name of the application container
	Name string
	// The additional fields needed for ApplicationContainer
	AdditionalFields UpdateApplicationContainerAdditionalFields
	// Name of the optional deployment file, which specifies memory, number of instances, and service bindings
	// Optional
	Deployment string
	// Name of the manifest file, required if this file is not packaged with the application
	// Optional
	Manifest string
	// Time to wait between checks on application container status
	PollInterval time.Duration
	// Timeout for creating an application container
	Timeout time.Duration
}

UpdateApplicationContainerInput specifies the fields needed to update an application container

Jump to

Keyboard shortcuts

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