tosca_definitions_version: tosca_simple_yaml_1_0

description: Template for deploying a single server with predefined properties.

imports:
   - custom_types/xos.yaml
   - custom_types/cdn.yaml

topology_template:
  node_templates:
    HyperCache:
      type: tosca.nodes.CDNService
      properties:
          # HyperCache service must already exist before running this recipe
          no-create: true
          no-delete: true
          no-update: true

    # Setup the CDN Service Provider

    main_service_provider:
        type: tosca.nodes.ServiceProvider
        requirements:
           - hpc_service:
                 node: HyperCache
                 relationship: tosca.relationships.MemberOfService

    # Wall Street Journal Content Provider

    wsj_content:
        type: tosca.nodes.ContentProvider
        requirements:
            - service_provider:
                  node: main_service_provider
                  relationship: tosca.relationships.MemberOfServiceProvider

    www.wsj.com:
        type: tosca.nodes.CDNPrefix
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider
             - default_origin_server:
                   node: http_www.wsj.com
                   relationship: tosca.relationships.DefaultOriginServer

    si.wsj.net:
        type: tosca.nodes.CDNPrefix
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider
             - default_origin_server:
                   node: http_si.wsj.net
                   relationship: tosca.relationships.DefaultOriginServer

    s.wsj.net:
        type: tosca.nodes.CDNPrefix
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider
             - default_origin_server:
                   node: http_s.wsj.net
                   relationship: tosca.relationships.DefaultOriginServer

    ore.wsj.net:
        type: tosca.nodes.CDNPrefix
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider
             - default_origin_server:
                   node: http_ore.wsj.net
                   relationship: tosca.relationships.DefaultOriginServer

    http_www.wsj.com:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider

    http_si.wsj.net:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider

    http_s.wsj.net:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider

    http_ore.wsj.net:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: wsj_content
                   relationship: tosca.relationships.MemberOfContentProvider

    # ON.Lab content provider

    on_lab_content:
        type: tosca.nodes.ContentProvider
        requirements:
            - service_provider:
                  node: main_service_provider
                  relationship: tosca.relationships.MemberOfServiceProvider

    # Create CDN prefix onlab.vicci.org
    onlab.vicci.org:
        type: tosca.nodes.CDNPrefix
        requirements:
             - content_provider:
                   node: on_lab_content
                   relationship: tosca.relationships.MemberOfContentProvider

    http_onos-videos.s3.amazonaws.com:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: on_lab_content
                   relationship: tosca.relationships.MemberOfContentProvider

    # Create origin server s3-us-west-1.amazonaws.com
    http_s3-us-west-1.amazonaws.com:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: on_lab_content
                   relationship: tosca.relationships.MemberOfContentProvider

    # Create origin server s3.amazonaws.com
    http_s3.amazonaws.com:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: on_lab_content
                   relationship: tosca.relationships.MemberOfContentProvider

    # Test Content Provider

    testcp2:
        type: tosca.nodes.ContentProvider
        requirements:
            - service_provider:
                  node: main_service_provider
                  relationship: tosca.relationships.MemberOfServiceProvider

    http_www.cs.arizona.edu:
        type: tosca.nodes.OriginServer
        requirements:
             - content_provider:
                   node: testcp2
                   relationship: tosca.relationships.MemberOfContentProvider

    test-cdn.opencloud.us:
        type: tosca.nodes.CDNPrefix
        requirements:
             - content_provider:
                   node: testcp2
                   relationship: tosca.relationships.MemberOfContentProvider

             - default_origin_server:
                   node: http_www.cs.arizona.edu
                   relationship: tosca.relationships.DefaultOriginServer

    # Health Checks

    healthcheck_dns_onlab.vicci.org:
        type: tosca.nodes.HpcHealthCheck
        requirements:
           - hpc_service:
                 node: HyperCache
                 relationship: tosca.relationships.MemberOfService
        properties:
           kind: dns
           resource_name: onlab.vicci.org

    healthcheck_dns_test-cdn.opencloud.us:
        type: tosca.nodes.HpcHealthCheck
        requirements:
           - hpc_service:
                 node: HyperCache
                 relationship: tosca.relationships.MemberOfService
        properties:
           kind: dns
           resource_name: test-cdn.opencloud.us

    healthcheck_http_test-cdn-index:
        type: tosca.nodes.HpcHealthCheck
        requirements:
           - hpc_service:
                 node: HyperCache
                 relationship: tosca.relationships.MemberOfService
        properties:
           kind: http
           resource_name: test-cdn.opencloud.us:/
           result_contains: Lowenthal

    healthcheck_http_onlab_onos_image:
        type: tosca.nodes.HpcHealthCheck
        requirements:
           - hpc_service:
                 node: HyperCache
                 relationship: tosca.relationships.MemberOfService
        properties:
           kind: http
           resource_name: onlab.vicci.org:/onos/vm/onos-tutorial-1.1.0r220-ovf.zip

    healthcheck_http_onlab_mininet_image:
        type: tosca.nodes.HpcHealthCheck
        requirements:
           - hpc_service:
                 node: HyperCache
                 relationship: tosca.relationships.MemberOfService
        properties:
           kind: http
           resource_name: onlab.vicci.org:/mininet-vm/mininet-2.1.0-130919-ubuntu-13.04-server-amd64-ovf.zip
