crossplane-contrib / provider-jet-azure

Apache License 2.0
17 stars 20 forks source link

Unable to use Refs #205

Open linuxbsdfreak opened 2 years ago

linuxbsdfreak commented 2 years ago

What problem are you facing?

Unable to use Refs

How could Crossplane help solve your problem?

I have the following yaml definition which at the moment one has to manually add the id for the logAnalyticsWorkspaceId, targetResourceId, actionGroupId,scopes. It would be ideal to configure Refs for adding it dynamically. Is this feature enabled globally in all the provider?

apiVersion: insights.azure.jet.crossplane.io/v1alpha1
kind: MonitorActionGroup
metadata:
  name: cp-terrajet-ag
spec:
  forProvider:
    emailReceiver:
    - emailAddress: abc@example.com
      name: sendtoadmin
    name: cp-terrajet-ag
    resourceGroupNameRef:
      name: cp-terrajet-rg
    shortName: cp-tjet-ag
  providerConfigRef:
    name: terrajet-azure-provider-config
---
apiVersion: insights.azure.jet.crossplane.io/v1alpha2
kind: MonitorMetricAlert
metadata:
  name: terrajet-pg-high-cpu-alert
spec:
  forProvider:
    resourceGroupNameRef:
      name: cp-terrajet-rg
    scopes:
      - "/subscriptions/xxxxxxx/resourceGroups/cp-terrajet-rg/providers/Microsoft.DBforPostgreSQL/servers/terrajet-psqlserver"
    criteria:
      - metricNamespace: "Microsoft.DBforPostgreSQL/servers"
        metricName: "cpu_percent"
        aggregation: "Average"
        operator: "GreaterThan"
        threshold: 95
    description: "PostgreSQL high CPU alert"
    action:
      - actionGroupId: "/subscriptions/xxxx/resourceGroups/cp-terrajet-rg/providers/Microsoft.Insights/actionGroups/cp-terrajet-ag"
    frequency: "PT1M"
    windowSize: "PT30M"
  providerConfigRef:
    name: terrajet-azure-provider-config
---
apiVersion: loganalytics.azure.jet.crossplane.io/v1alpha2
kind: Workspace
metadata:
  name: cp-terrajet-ws
spec:
  forProvider:
    location: "westeurope"
    resourceGroupNameRef:
      name: cp-terrajet-rg
    retentionInDays: 45
  providerConfigRef:
    name: terrajet-azure-provider-config
---
apiVersion: insights.azure.jet.crossplane.io/v1alpha1
kind: MonitorDiagnosticSetting
metadata:
  name: cp-terrajet-mds
spec:
  forProvider:
    log:
    - category: PostgreSQLLogs
      enabled: true
    metric:
    - category: AllMetrics
      enabled: true
    name: cp-terrajet-mds
    logAnalyticsWorkspaceId: "/subscriptions/xxxxxx/resourceGroups/cp-terrajet-rg/providers/Microsoft.OperationalInsights/workspaces/cp-terrajet->
    targetResourceId: "/subscriptions/xxxx/resourceGroups/cp-terrajet-rg/providers/Microsoft.DBforPostgreSQL/servers/terrajet-psqlserver"
  providerConfigRef:
    name: terrajet-azure-provider-config