{{define "main"}}
// THIS FILE IS AUTOGENERATED USING go generate. DO NOT EDIT.
package iamutil

func GetEnabledIamResources() GeneratedResources {
	return generatedIamResources
}

var generatedIamResources = map[string]map[string]map[string]IamRestResource {
{{ range $typeKey,$serviceMap := . -}}
    "{{$typeKey}}": {
        {{ range $service, $versionMap := . -}}
            "{{$service}}": {
                {{ range $version, $resource := $versionMap -}}
                    "{{$version}}": {{template "iam_rest_resource" $resource}},
                {{ end -}}
            },
        {{ end -}}
    },
{{ end -}}
}

{{end}}

{{ define "iam_rest_resource" -}}
IamRestResource{
	Name: "{{.Name}}",
	TypeKey: "{{.TypeKey}}",
	Service: "{{.Service}}",
	IsPreferredVersion: {{.IsPreferredVersion}},
	Parameters: []string{ {{- range $idx, $v := .Parameters -}}"{{$v}}",{{- end -}} },
	CollectionReplacementKeys: map[string]string{ {{- range $k, $v := .CollectionReplacementKeys }}
	    "{{$k}}":"{{$v}}",
    {{- end}}
    },
    GetMethod: {{template "get_rest_method" .GetMethod }},
    SetMethod: {{template "set_rest_method" .SetMethod }},
}

{{- end}}

{{define "get_rest_method" -}}
RestMethod {
	HttpMethod: "{{ .HttpMethod }}",
	BaseURL: "{{ .BaseURL }}",
	Path: "{{ .Path }}",
}
{{- end}}

{{define "set_rest_method" -}}
RestMethod {
	HttpMethod: "{{ .HttpMethod }}",
	BaseURL: "{{ .BaseURL }}",
	Path: "{{ .Path }}",
	RequestFormat: `{{ .RequestFormat }}`,
}
{{- end}}