# Generic Kubernetes Resource Capability Analysis

Analyze this Kubernetes resource and identify its capabilities for semantic matching and AI recommendations.

## Resource Information
- **Resource**: {{resourceName}}

## Resource Definition
```yaml
{{{resourceDefinition}}}
```

## Analysis Instructions

Analyze the provided resource definition to understand what this resource does and extract its capabilities. Use only information present in the definition - do not guess or assume.

### 1. Functional Capabilities
From the resource definition, identify what this resource enables users to do:
- Look at schema properties, descriptions, and field names
- Identify the core functionality (e.g., "database", "storage", "networking")
- Be specific about technologies (e.g., "postgresql" vs generic "database")
- Extract capabilities from field names, descriptions, and structure

### 2. Provider/Platform Support  
Identify what platforms or providers this resource works with:
- Look for provider-specific configuration sections or fields
- Check for multi-provider abstractions vs single-provider resources
- Identify on-premises vs cloud-only resources
- Only list providers explicitly mentioned or configured in the definition

### 3. Abstraction Level
Determine what abstractions this resource provides:
- High-level managed services with minimal configuration
- Infrastructure abstractions (auto-scaling, high availability, etc.)
- Integration capabilities (backup, monitoring, security features)
- Look at required vs optional fields to gauge abstraction level

### 4. User Experience Complexity
Assess complexity considering both configuration and assembly requirements:

**Configuration Complexity:**
- Number and difficulty of required fields
- Technical knowledge needed for the resource itself
- Clarity of purpose and abstractions provided

**Assembly Complexity:**
- **Standalone**: Resource works independently, creates/manages all dependencies
- **Coordinated**: Requires 2-3 other resources to be functional
- **Orchestrated**: Needs many resources and complex relationships to work

**Final Complexity Rating:**
- **Low**: Simple configuration AND works standalone or with minimal dependencies
- **Medium**: Moderate configuration OR needs some coordination with other resources  
- **High**: Complex configuration OR requires orchestrating many resources OR both

## Response Format

Respond **only** with valid JSON in this exact format:

```json
{
  "capabilities": ["capability1", "capability2", "capability3"],
  "providers": ["provider1", "provider2"],
  "abstractions": ["abstraction1", "abstraction2"],
  "complexity": "low|medium|high",
  "description": "Brief description of what this resource does (1-2 sentences)",
  "useCase": "Primary use case for this resource (1 sentence)",
  "confidence": 0.8
}
```

## Examples

### Database Resource Example
```json
{
  "capabilities": ["postgresql", "mysql", "database", "managed database"],
  "providers": ["azure", "gcp", "aws"],
  "abstractions": ["managed service", "high availability", "backup"],
  "complexity": "low",
  "description": "High-level managed database solution supporting multiple engines and cloud providers",
  "useCase": "Simple database deployment without infrastructure complexity",
  "confidence": 0.9
}
```

### Storage Resource Example
```json
{
  "capabilities": ["object storage", "backup", "storage"],
  "providers": ["aws"],
  "abstractions": ["managed service", "auto scaling"],
  "complexity": "medium",
  "description": "AWS S3-compatible object storage with backup capabilities",
  "useCase": "Object storage and backup for applications",
  "confidence": 0.85
}
```

### Application Resource Example  
```json
{
  "capabilities": ["web service", "api", "application"],
  "providers": ["multi cloud"],
  "abstractions": ["auto scaling", "monitoring"],
  "complexity": "medium",
  "description": "Web application deployment with auto scaling and monitoring",
  "useCase": "Scalable web application hosting",
  "confidence": 0.8
}
```

## Important Notes

- **Be specific**: Use precise capability terms that users would search for
- **Be comprehensive**: Include all relevant capabilities, not just the primary one
- **Be accurate**: Only include capabilities that are clearly supported
- **Focus on user intent**: Think about what users would search for to find this resource
- **Consider abstraction**: Higher abstraction = lower complexity for users
- **Confidence score**: 0.1-1.0 based on how certain you are about the analysis

Analyze the provided resource and respond with the JSON format above.