Table of Contents

Class Plan

Namespace
OpenServiceBroker.Catalogs
Assembly
OpenServiceBroker.Model.dll

Describes a plan for a service available on the Service Broker.

public class Plan : IEquatable<Plan>
Inheritance
Plan
Implements
Inherited Members
Extension Methods

Properties

Bindable

Specifies whether Service Instances of the Service Plan can be bound to applications. This field is OPTIONAL. If specified, this takes precedence over the bindable attribute of the service. If not specified, the default is derived from the service.

[JsonProperty("bindable", NullValueHandling = NullValueHandling.Ignore)]
public bool? Bindable { get; set; }

Property Value

bool?

Description

A short description of the plan. MUST be a non-empty string.

[JsonProperty("description", Required = Required.Always)]
public string Description { get; set; }

Property Value

string

Free

When false, Service Instances of this plan have a cost. The default is true.

[JsonProperty("free")]
public bool Free { get; set; }

Property Value

bool

Id

An identifier used to correlate this plan in future requests to the Service Broker. This MUST be globally unique such that Platforms (and their users) MUST be able to assume that seeing the same value (no matter what Service Broker uses it) will always refer to this plan and for the same service. MUST be a non-empty string. Using a GUID is RECOMMENDED.

[JsonProperty("id", Required = Required.Always)]
public string Id { get; set; }

Property Value

string

MaintenanceInfo

Maintenance information for a Service Instance which is provisioned using the Service Plan.

[JsonProperty("maintenance_info", NullValueHandling = NullValueHandling.Ignore)]
public MaintenanceInfo MaintenanceInfo { get; set; }

Property Value

MaintenanceInfo

MaximumPollingDuration

A duration, in seconds, that the Platform SHOULD use as the Service's maximum polling duration.

[JsonProperty("maximum_polling_duration", NullValueHandling = NullValueHandling.Ignore)]
public int? MaximumPollingDuration { get; set; }

Property Value

int?

Metadata

An opaque object of metadata for a Service Plan. It is expected that Platforms will treat this as a blob. Note that there are conventions in existing Service Brokers and Platforms for fields that aid in the display of catalog data.

[JsonProperty("metadata")]
public JObject Metadata { get; set; }

Property Value

JObject

Name

The CLI-friendly name of the plan. MUST only contain alphanumeric characters, periods, and hyphens (no spaces). MUST be unique within the service. MUST be a non-empty string.

[JsonProperty("name", Required = Required.Always)]
public string Name { get; set; }

Property Value

string

PlanUpdateable

Whether the Plan supports upgrade/downgrade/sidegrade to another version. This field is OPTIONAL. If specified, this takes precedence over PlanUpdateable.

[JsonProperty("plan_updateable", NullValueHandling = NullValueHandling.Ignore)]
public bool? PlanUpdateable { get; set; }

Property Value

bool?

Schemas

Schema definitions for Service Instances and bindings for the plan.

[JsonProperty("schemas")]
public Schemas Schemas { get; set; }

Property Value

Schemas

Methods

Equals(Plan)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(Plan other)

Parameters

other Plan

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.