@pulumi/f5bigip
Version:
A Pulumi package for creating and managing F5 BigIP resources.
222 lines (221 loc) • 9.32 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as f5bigip from "@pulumi/f5bigip";
*
* const test = new f5bigip.EventServiceDiscovery("test", {
* taskid: "~Sample_event_sd~My_app~My_pool",
* nodes: [
* {
* id: "newNode1",
* ip: "192.168.2.3",
* port: 8080,
* },
* {
* id: "newNode2",
* ip: "192.168.2.4",
* port: 8080,
* },
* ],
* });
* ```
*/
export declare class EventServiceDiscovery extends pulumi.CustomResource {
/**
* Get an existing EventServiceDiscovery resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EventServiceDiscoveryState, opts?: pulumi.CustomResourceOptions): EventServiceDiscovery;
/**
* Returns true if the given object is an instance of EventServiceDiscovery. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is EventServiceDiscovery;
/**
* Map of node which will be added to pool which will be having node name(id),node address(ip) and node port(port)
*
* For more information, please refer below document
* https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/discovery.html?highlight=service%20discovery#event-driven-service-discovery
*
* Below example shows how to use event-driven service discovery, introduced in AS3 3.9.0.
*
* With event-driven service discovery, you POST a declaration with the addressDiscovery property set to event. This creates a new endpoint which you can use to add nodes that does not require an AS3 declaration, so it can be more efficient than using PATCH or POST to add nodes.
*
* When you use the event value for addressDiscovery, the system creates the new endpoint with the following syntax: https://<host>/mgmt/shared/service-discovery/task/~<tenant name>~<application name>~<pool name>/nodes.
*
* For example, in the following declaration, assuming 192.0.2.14 is our BIG-IP, the endpoint that is created is: https://192.0.2.14/mgmt/shared/service-discovery/task/~Sample_event_sd~My_app~My_pool/nodes
*
* Once the endpoint is created( taskid ), you can use it to add nodes to the BIG-IP pool
* First we show the initial declaration to POST to the BIG-IP system.
*
* {
* "class": "ADC",
* "schemaVersion": "3.9.0",
* "id": "Pool",
* "Sample_event_sd": {
* "class": "Tenant",
* "My_app": {
* "class": "Application",
* "My_pool": {
* "class": "Pool",
* "members": [
* {
* "servicePort": 8080,
* "addressDiscovery": "static",
* "serverAddresses": [
* "192.0.2.2"
* ]
* },
* {
* "servicePort": 8080,
* "addressDiscovery": "event"
* }
* ]
* }
* }
* }
* }
*
*
* Once the declaration has been sent to the BIG-IP, we can use taskid/id ( ~Sample_event_sd~My_app~My_pool" ) and node list for the resource to dynamically update the node list.
*/
readonly nodes: pulumi.Output<outputs.EventServiceDiscoveryNode[] | undefined>;
/**
* servicediscovery endpoint ( Below example shows how to create endpoing using AS3 )
*/
readonly taskid: pulumi.Output<string>;
/**
* Create a EventServiceDiscovery resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: EventServiceDiscoveryArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering EventServiceDiscovery resources.
*/
export interface EventServiceDiscoveryState {
/**
* Map of node which will be added to pool which will be having node name(id),node address(ip) and node port(port)
*
* For more information, please refer below document
* https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/discovery.html?highlight=service%20discovery#event-driven-service-discovery
*
* Below example shows how to use event-driven service discovery, introduced in AS3 3.9.0.
*
* With event-driven service discovery, you POST a declaration with the addressDiscovery property set to event. This creates a new endpoint which you can use to add nodes that does not require an AS3 declaration, so it can be more efficient than using PATCH or POST to add nodes.
*
* When you use the event value for addressDiscovery, the system creates the new endpoint with the following syntax: https://<host>/mgmt/shared/service-discovery/task/~<tenant name>~<application name>~<pool name>/nodes.
*
* For example, in the following declaration, assuming 192.0.2.14 is our BIG-IP, the endpoint that is created is: https://192.0.2.14/mgmt/shared/service-discovery/task/~Sample_event_sd~My_app~My_pool/nodes
*
* Once the endpoint is created( taskid ), you can use it to add nodes to the BIG-IP pool
* First we show the initial declaration to POST to the BIG-IP system.
*
* {
* "class": "ADC",
* "schemaVersion": "3.9.0",
* "id": "Pool",
* "Sample_event_sd": {
* "class": "Tenant",
* "My_app": {
* "class": "Application",
* "My_pool": {
* "class": "Pool",
* "members": [
* {
* "servicePort": 8080,
* "addressDiscovery": "static",
* "serverAddresses": [
* "192.0.2.2"
* ]
* },
* {
* "servicePort": 8080,
* "addressDiscovery": "event"
* }
* ]
* }
* }
* }
* }
*
*
* Once the declaration has been sent to the BIG-IP, we can use taskid/id ( ~Sample_event_sd~My_app~My_pool" ) and node list for the resource to dynamically update the node list.
*/
nodes?: pulumi.Input<pulumi.Input<inputs.EventServiceDiscoveryNode>[]>;
/**
* servicediscovery endpoint ( Below example shows how to create endpoing using AS3 )
*/
taskid?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a EventServiceDiscovery resource.
*/
export interface EventServiceDiscoveryArgs {
/**
* Map of node which will be added to pool which will be having node name(id),node address(ip) and node port(port)
*
* For more information, please refer below document
* https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/discovery.html?highlight=service%20discovery#event-driven-service-discovery
*
* Below example shows how to use event-driven service discovery, introduced in AS3 3.9.0.
*
* With event-driven service discovery, you POST a declaration with the addressDiscovery property set to event. This creates a new endpoint which you can use to add nodes that does not require an AS3 declaration, so it can be more efficient than using PATCH or POST to add nodes.
*
* When you use the event value for addressDiscovery, the system creates the new endpoint with the following syntax: https://<host>/mgmt/shared/service-discovery/task/~<tenant name>~<application name>~<pool name>/nodes.
*
* For example, in the following declaration, assuming 192.0.2.14 is our BIG-IP, the endpoint that is created is: https://192.0.2.14/mgmt/shared/service-discovery/task/~Sample_event_sd~My_app~My_pool/nodes
*
* Once the endpoint is created( taskid ), you can use it to add nodes to the BIG-IP pool
* First we show the initial declaration to POST to the BIG-IP system.
*
* {
* "class": "ADC",
* "schemaVersion": "3.9.0",
* "id": "Pool",
* "Sample_event_sd": {
* "class": "Tenant",
* "My_app": {
* "class": "Application",
* "My_pool": {
* "class": "Pool",
* "members": [
* {
* "servicePort": 8080,
* "addressDiscovery": "static",
* "serverAddresses": [
* "192.0.2.2"
* ]
* },
* {
* "servicePort": 8080,
* "addressDiscovery": "event"
* }
* ]
* }
* }
* }
* }
*
*
* Once the declaration has been sent to the BIG-IP, we can use taskid/id ( ~Sample_event_sd~My_app~My_pool" ) and node list for the resource to dynamically update the node list.
*/
nodes?: pulumi.Input<pulumi.Input<inputs.EventServiceDiscoveryNode>[]>;
/**
* servicediscovery endpoint ( Below example shows how to create endpoing using AS3 )
*/
taskid: pulumi.Input<string>;
}