apiVersion: api.ibm.com/v1
kind: API
metadata:
  name: "test-api"
  version: 1.0.0
  namespace: sample
spec:
  policy-sequence:
    - $ref: sample:policy-sequence:1.0.0
---
apiVersion: api.ibm.com/v1
kind: FreeFlowPolicySequence
metadata:
  name: "policy-sequence"
  version: 1.0.0
  namespace: sample
spec:
  main:
    - $ref: sample:invoke-single-backend:1.0.0
    - $ref: sample:invoke-single-backend2:1.0.0
    - $ref: sample:invoke-single-backend3:1.0.0
    - $ref: sample:invoke-single-backend4:1.0.0
---
apiVersion: api.ibm.com/v1
kind: Invoke
metadata:
  name: "invoke-single-backend"
  version: 1.0.0
  namespace: sample
spec:
  inputMessage: request
  outputMessage: response
  cache:
    expire:
      static:
        seconds: 60
    scope:
      narrowScope: {}
  endpoint:
    http:
      verb: GET
      status_exception:
        pattern: 500
      target:
        tlsClientProfile: some_tls_profile
        url: 'https://localhost:3000'
        urlType: 'plain'
        version: HTTP/1.0
        timeout: 60
        compression: false
        chunkedUploads: false
        persistentConnection: true
---
apiVersion: api.ibm.com/v1
kind: Invoke
metadata:
  name: "invoke-single-backend2"
  version: 1.0.0
  namespace: sample
spec:
  inputMessage: request
  outputMessage: response
  endpoint:
    http:
      verb: GET
      status_exception:
        pattern: 500
      target:
        tlsClientProfile: some_tls_profile
        url: 'https://localhost:3000'
        urlType: 'plain'
        version: HTTP/1.0
        timeout: 60
        compression: false
        chunkedUploads: false
        persistentConnection: true
---
apiVersion: api.ibm.com/v1
kind: Invoke
metadata:
  name: "invoke-single-backend3"
  version: 1.0.0
  namespace: sample
spec:
  inputMessage: request
  cache:
    expire:
      fromVariable:
        name: var1
    scope:
      wideScope: {}
  endpoint:
    http:
      verb: GET
      status_exception:
        pattern: 500
      target:
        tlsClientProfile: some_tls_profile
        url: 'https://localhost:3000'
        urlType: 'plain'
        version: HTTP/1.0
        timeout: 60
        compression: false
        chunkedUploads: false
        persistentConnection: true
---
apiVersion: api.ibm.com/v1
kind: Invoke
metadata:
  name: "invoke-single-backend4"
  version: 1.0.0
  namespace: sample
spec:
  inputMessage: request
  outputMessage: response
  cache:
    expire:
      fromMessageHeader:
        headerName: var1
        messageName: var2
    scope:
      wideScope: {}
  endpoint:
    http:
      verb: GET
      status_exception:
        pattern: 500
      target:
        tlsClientProfile: some_tls_profile
        url: 'https://localhost:3000'
        urlType: 'plain'
        version: HTTP/1.0
        timeout: 60
        compression: false
        chunkedUploads: false
        persistentConnection: true
---
apiVersion: api.ibm.com/v1
kind: API
metadata:
  name: "test-api-invalid"
  version: 1.0.0
  namespace: sample
spec:
  policy-sequence:
    - $ref: sample:policy-sequence-invalid:1.0.0
---
apiVersion: api.ibm.com/v1
kind: StagedPolicySequence
metadata:
  name: "policy-sequence-invalid"
  version: 1.0.0
  namespace: sample
spec:
  main:
    - $ref: sample:invoke-single-backend:1.0.0
    - $ref: sample:invoke-single-backend2:1.0.0
    - $ref: sample:invoke-single-backend3:1.0.0
    - $ref: sample:invoke-single-backend4:1.0.0