# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = [
    'ProfileFlavorMapping',
    'ProfileLink',
]

@pulumi.output_type
class ProfileFlavorMapping(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "cpuCount":
            suggest = "cpu_count"
        elif key == "instanceType":
            suggest = "instance_type"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ProfileFlavorMapping. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ProfileFlavorMapping.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ProfileFlavorMapping.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 name: str,
                 cpu_count: Optional[int] = None,
                 instance_type: Optional[str] = None,
                 memory: Optional[int] = None):
        """
        :param str name: A human-friendly name used as an identifier in APIs that support this option.
        """
        pulumi.set(__self__, "name", name)
        if cpu_count is not None:
            pulumi.set(__self__, "cpu_count", cpu_count)
        if instance_type is not None:
            pulumi.set(__self__, "instance_type", instance_type)
        if memory is not None:
            pulumi.set(__self__, "memory", memory)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        A human-friendly name used as an identifier in APIs that support this option.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="cpuCount")
    def cpu_count(self) -> Optional[int]:
        return pulumi.get(self, "cpu_count")

    @property
    @pulumi.getter(name="instanceType")
    def instance_type(self) -> Optional[str]:
        return pulumi.get(self, "instance_type")

    @property
    @pulumi.getter
    def memory(self) -> Optional[int]:
        return pulumi.get(self, "memory")


@pulumi.output_type
class ProfileLink(dict):
    def __init__(__self__, *,
                 rel: str,
                 href: Optional[str] = None,
                 hrefs: Optional[Sequence[str]] = None):
        pulumi.set(__self__, "rel", rel)
        if href is not None:
            pulumi.set(__self__, "href", href)
        if hrefs is not None:
            pulumi.set(__self__, "hrefs", hrefs)

    @property
    @pulumi.getter
    def rel(self) -> str:
        return pulumi.get(self, "rel")

    @property
    @pulumi.getter
    def href(self) -> Optional[str]:
        return pulumi.get(self, "href")

    @property
    @pulumi.getter
    def hrefs(self) -> Optional[Sequence[str]]:
        return pulumi.get(self, "hrefs")


