{{- range $index, $machineClass := .Values.machineClasses }}
---
apiVersion: v1
kind: Secret
metadata:
  name: {{ $machineClass.name }}
  namespace: {{ $.Release.Namespace }}
{{- if $machineClass.secret.labels }}
  labels:
{{ toYaml $machineClass.secret.labels | indent 4 }}
{{- end }}
type: Opaque
data:
  userData: {{ $machineClass.secret.cloudConfig | b64enc }}
  providerAccessKeyId: {{ $machineClass.secret.accessKeyID | b64enc }}
  providerSecretAccessKey: {{ $machineClass.secret.secretAccessKey | b64enc }}
---
apiVersion: machine.sapcloud.io/v1alpha1
kind: AWSMachineClass
metadata:
  name: {{ $machineClass.name }}
  namespace: {{ $.Release.Namespace }}
{{- if $machineClass.labels }}
  labels:
{{ toYaml $machineClass.labels | indent 4 }}
{{- end }}
spec:
  ami: {{ $machineClass.ami }}
  region: {{ $machineClass.region }}
  machineType: {{ $machineClass.machineType }}
  iam:
    name: {{ $machineClass.iamInstanceProfile }}
  keyName: {{ $machineClass.keyName }}
  networkInterfaces:
{{ toYaml $machineClass.networkInterfaces | indent 2 }}
{{- if $machineClass.tags }}
  tags:
{{ toYaml $machineClass.tags | indent 4 }}
{{- end }}
  secretRef:
    name: {{ $machineClass.name }}
    namespace: {{ $.Release.Namespace }}
  blockDevices:
{{ toYaml $machineClass.blockDevices | indent 2 }}
{{- end }}
