### File

`src/app/resource/shared/resource.service.ts`

### Extends

`HelixService`

### Index

###### Methods
Public disable Public enable Public get Public getAll Public getAllOnInstance Public getOnInstance Public remove Public setIdealState Public can Protected delete Protected errorHandler Protected getHeaders Protected getHelixKey Protected post Protected put Protected request

### Methods

Public disable
`disable(clusterName: string, resourceName: string)`
Defined in src/app/resource/shared/resource.service.ts:102
Parameters :
Name | Type | Optional
clusterName | `string` | No
resourceName | `string` | No
Returns : `any`

Public enable
`enable(clusterName: string, resourceName: string)`
Defined in src/app/resource/shared/resource.service.ts:95
Parameters :
Name | Type | Optional
clusterName | `string` | No
resourceName | `string` | No
Returns : `any`

Public get
`get(clusterName: string, resourceName: string)`
Defined in src/app/resource/shared/resource.service.ts:46
Parameters :
Name | Type | Optional
clusterName | `string` | No
resourceName | `string` | No
Returns : `any`

Public getAll
`getAll(clusterName: string)`
Defined in src/app/resource/shared/resource.service.ts:12
Parameters :
Name | Type | Optional
clusterName | `string` | No
Returns : `any`

Public getAllOnInstance
`getAllOnInstance(clusterName: string, instanceName: string)`
Defined in src/app/resource/shared/resource.service.ts:28
Parameters :
Name | Type | Optional
clusterName | `string` | No
instanceName | `string` | No
Returns : `any`

Public getOnInstance
`getOnInstance(clusterName: string, instanceName: string, resourceName: string)`
Defined in src/app/resource/shared/resource.service.ts:63
Parameters :
Name | Type | Optional
clusterName | `string` | No
instanceName | `string` | No
resourceName | `string` | No
Returns : `any`

Public remove
`remove(clusterName: string, resourceName: string)`
Defined in src/app/resource/shared/resource.service.ts:109
Parameters :
Name | Type | Optional
clusterName | `string` | No
resourceName | `string` | No
Returns : `any`

Public setIdealState
`setIdealState(clusterName: string, resourceName: string, idealState: IdealState)`
Defined in src/app/resource/shared/resource.service.ts:113
Parameters :
Name | Type | Optional
clusterName | `string` | No
resourceName | `string` | No
idealState | `IdealState` | No
Returns : `any`

Public can
`can()`
Inherited from `HelixService`
Defined in `HelixService:14`
Returns : `Observable<any>`

Protected delete
`delete(path: string)`
Inherited from `HelixService`
Defined in `HelixService:48`
Parameters :
Name | Type | Optional
path | `string` | No
Returns : `Observable<any>`

Protected errorHandler
`errorHandler(error: any)`
Inherited from `HelixService`
Defined in `HelixService:68`
Parameters :
Name | Type | Optional
error | `any` | No
Returns : `any`

Protected getHeaders
`getHeaders()`
Inherited from `HelixService`
Defined in `HelixService:61`
Returns : `any`

Protected getHelixKey
`getHelixKey()`
Inherited from `HelixService`
Defined in `HelixService:56`
Returns : `string`

Protected post
`post(path: string, data: any)`
Inherited from `HelixService`
Defined in `HelixService:32`
Parameters :
Name | Type | Optional
path | `string` | No
data | `any` | No
Returns : `Observable<any>`

Protected put
`put(path: string, data: string)`
Inherited from `HelixService`
Defined in `HelixService:40`
Parameters :
Name | Type | Optional
path | `string` | No
data | `string` | No
Returns : `Observable<any>`

Protected request
`request(path: string, helix?: string)`
Inherited from `HelixService`
Defined in `HelixService:20`
Parameters :
Name | Type | Optional
path | `string` | No
helix | `string` | Yes
Returns : `Observable<any>`

    import { map } from 'rxjs/operators';
    import { Injectable } from '@angular/core';

    import * as _ from 'lodash';

    import { IdealState } from '../../shared/node-viewer/node-viewer.component';
    import { HelixService } from '../../core/helix.service';
    import { Resource } from './resource.model';

    @Injectable()
    export class ResourceService extends HelixService {
      public getAll(clusterName: string) {
        return this.request(`/clusters/${clusterName}/resources`).pipe(
          map((data) => {
            const res: Resource[] = [];
            for (const name of data.idealStates) {
              res.push(<Resource>{
                cluster: clusterName,
                name,
                alive: data.externalViews.indexOf(name) >= 0,
              });
            }
            return _.sortBy(res, 'name');
          })
        );
      }

      public getAllOnInstance(clusterName: string, instanceName: string) {
        return this.request(
          `/clusters/${clusterName}/instances/${instanceName}/resources`
        ).pipe(
          map((data) => {
            const res: any[] = [];
            if (data) {
              for (const resource of data.resources) {
                res.push({
                  name: resource,
                });
              }
            }
            return res;
          })
        );
      }

      public get(clusterName: string, resourceName: string) {
        return this.request(
          `/clusters/${clusterName}/resources/${resourceName}`
        ).pipe(
          map(
            (data) =>
              new Resource(
                clusterName,
                resourceName,
                data.resourceConfig,
                data.idealState,
                data.externalView
              )
          )
        );
      }

      public getOnInstance(
        clusterName: string,
        instanceName: string,
        resourceName: string
      ) {
        return this.request(
          `/clusters/${clusterName}/instances/${instanceName}/resources/${resourceName}`
        ).pipe(
          map((data) => {
            const ret = {
              bucketSize: data.simpleFields.BUCKET_SIZE,
              sessionId: data.simpleFields.SESSION_ID,
              stateModelDef: data.simpleFields.STATE_MODEL_DEF,
              stateModelFactoryName: data.simpleFields.STATE_MODEL_FACTORY_NAME,
              partitions: [],
            };

            for (const partition in data.mapFields) {
              const par = data.mapFields[partition];

              ret.partitions.push({
                name: partition.trim(),
                currentState: par.CURRENT_STATE.trim(),
                info: par.INFO.trim(),
              });
            }

            return ret;
          })
        );
      }

      public enable(clusterName: string, resourceName: string) {
        return this.post(
          `/clusters/${clusterName}/resources/${resourceName}?command=enable`,
          null
        );
      }

      public disable(clusterName: string, resourceName: string) {
        return this.post(
          `/clusters/${clusterName}/resources/${resourceName}?command=disable`,
          null
        );
      }

      public remove(clusterName: string, resourceName: string) {
        return this.delete(`/clusters/${clusterName}/resources/${resourceName}`);
      }

      public setIdealState(
        clusterName: string,
        resourceName: string,
        idealState: IdealState
      ) {
        return this.post(
          `/clusters/${clusterName}/resources/${resourceName}/idealState?command=update`,
          idealState
        );
      }
    }

# results matching ""

# No results matching ""