text: # 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 warnings
  import pulumi
  import pulumi.runtime
  from typing import Any, Mapping, Optional, Sequence, Union, overload
  from .. import _utilities
  
  __all__ = [
      'ManagedInstanceGroupManagedInstanceArgs',
      'ManagedInstanceManagementChildSoftwareSourceArgs',
      'ManagedInstanceManagementManagedInstanceGroupArgs',
      'ManagedInstanceManagementParentSoftwareSourceArgs',
      'SoftwareSourceAssociatedManagedInstanceArgs',
      'GetManagedInstanceGroupsFilterArgs',
      'GetManagedInstancesFilterArgs',
      'GetSoftwareSourcesFilterArgs',
  ]
  
  @pulumi.input_type
  class ManagedInstanceGroupManagedInstanceArgs:
      def __init__(__self__, *,
                   display_name: Optional[pulumi.Input[str]] = None,
                   id: Optional[pulumi.Input[str]] = None):
          """
          :param pulumi.Input[str] display_name: (Updatable) Managed Instance Group identifier
          :param pulumi.Input[str] id: unique identifier that is immutable on creation
          """
          if display_name is not None:
              pulumi.set(__self__, "display_name", display_name)
          if id is not None:
              pulumi.set(__self__, "id", id)
  
      @property
      @pulumi.getter(name="displayName")
      def display_name(self) -> Optional[pulumi.Input[str]]:
          """
          (Updatable) Managed Instance Group identifier
          """
          return pulumi.get(self, "display_name")
  
      @display_name.setter
      def display_name(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "display_name", value)
  
      @property
      @pulumi.getter
      def id(self) -> Optional[pulumi.Input[str]]:
          """
          unique identifier that is immutable on creation
          """
          return pulumi.get(self, "id")
  
      @id.setter
      def id(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "id", value)
  
  
  @pulumi.input_type
  class ManagedInstanceManagementChildSoftwareSourceArgs:
      def __init__(__self__, *,
                   id: Optional[pulumi.Input[str]] = None,
                   name: Optional[pulumi.Input[str]] = None):
          """
          :param pulumi.Input[str] id: software source identifier
          :param pulumi.Input[str] name: software source name
          """
          if id is not None:
              pulumi.set(__self__, "id", id)
          if name is not None:
              pulumi.set(__self__, "name", name)
  
      @property
      @pulumi.getter
      def id(self) -> Optional[pulumi.Input[str]]:
          """
          software source identifier
          """
          return pulumi.get(self, "id")
  
      @id.setter
      def id(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "id", value)
  
      @property
      @pulumi.getter
      def name(self) -> Optional[pulumi.Input[str]]:
          """
          software source name
          """
          return pulumi.get(self, "name")
  
      @name.setter
      def name(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "name", value)
  
  
  @pulumi.input_type
  class ManagedInstanceManagementManagedInstanceGroupArgs:
      def __init__(__self__, *,
                   display_name: Optional[pulumi.Input[str]] = None,
                   id: Optional[pulumi.Input[str]] = None):
          """
          :param pulumi.Input[str] display_name: User friendly name
          :param pulumi.Input[str] id: software source identifier
          """
          if display_name is not None:
              pulumi.set(__self__, "display_name", display_name)
          if id is not None:
              pulumi.set(__self__, "id", id)
  
      @property
      @pulumi.getter(name="displayName")
      def display_name(self) -> Optional[pulumi.Input[str]]:
          """
          User friendly name
          """
          return pulumi.get(self, "display_name")
  
      @display_name.setter
      def display_name(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "display_name", value)
  
      @property
      @pulumi.getter
      def id(self) -> Optional[pulumi.Input[str]]:
          """
          software source identifier
          """
          return pulumi.get(self, "id")
  
      @id.setter
      def id(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "id", value)
  
  
  @pulumi.input_type
  class ManagedInstanceManagementParentSoftwareSourceArgs:
      def __init__(__self__, *,
                   id: Optional[pulumi.Input[str]] = None,
                   name: Optional[pulumi.Input[str]] = None):
          """
          :param pulumi.Input[str] id: software source identifier
          :param pulumi.Input[str] name: software source name
          """
          if id is not None:
              pulumi.set(__self__, "id", id)
          if name is not None:
              pulumi.set(__self__, "name", name)
  
      @property
      @pulumi.getter
      def id(self) -> Optional[pulumi.Input[str]]:
          """
          software source identifier
          """
          return pulumi.get(self, "id")
  
      @id.setter
      def id(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "id", value)
  
      @property
      @pulumi.getter
      def name(self) -> Optional[pulumi.Input[str]]:
          """
          software source name
          """
          return pulumi.get(self, "name")
  
      @name.setter
      def name(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "name", value)
  
  
  @pulumi.input_type
  class SoftwareSourceAssociatedManagedInstanceArgs:
      def __init__(__self__, *,
                   display_name: Optional[pulumi.Input[str]] = None,
                   id: Optional[pulumi.Input[str]] = None):
          """
          :param pulumi.Input[str] display_name: (Updatable) User friendly name for the software source
          :param pulumi.Input[str] id: OCID for the Software Source
          """
          if display_name is not None:
              pulumi.set(__self__, "display_name", display_name)
          if id is not None:
              pulumi.set(__self__, "id", id)
  
      @property
      @pulumi.getter(name="displayName")
      def display_name(self) -> Optional[pulumi.Input[str]]:
          """
          (Updatable) User friendly name for the software source
          """
          return pulumi.get(self, "display_name")
  
      @display_name.setter
      def display_name(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "display_name", value)
  
      @property
      @pulumi.getter
      def id(self) -> Optional[pulumi.Input[str]]:
          """
          OCID for the Software Source
          """
          return pulumi.get(self, "id")
  
      @id.setter
      def id(self, value: Optional[pulumi.Input[str]]):
          pulumi.set(self, "id", value)
  
  
  @pulumi.input_type
  class GetManagedInstanceGroupsFilterArgs:
      def __init__(__self__, *,
                   name: str,
                   values: Sequence[str],
                   regex: Optional[bool] = None):
          pulumi.set(__self__, "name", name)
          pulumi.set(__self__, "values", values)
          if regex is not None:
              pulumi.set(__self__, "regex", regex)
  
      @property
      @pulumi.getter
      def name(self) -> str:
          return pulumi.get(self, "name")
  
      @name.setter
      def name(self, value: str):
          pulumi.set(self, "name", value)
  
      @property
      @pulumi.getter
      def values(self) -> Sequence[str]:
          return pulumi.get(self, "values")
  
      @values.setter
      def values(self, value: Sequence[str]):
          pulumi.set(self, "values", value)
  
      @property
      @pulumi.getter
      def regex(self) -> Optional[bool]:
          return pulumi.get(self, "regex")
  
      @regex.setter
      def regex(self, value: Optional[bool]):
          pulumi.set(self, "regex", value)
  
  
  @pulumi.input_type
  class GetManagedInstancesFilterArgs:
      def __init__(__self__, *,
                   name: str,
                   values: Sequence[str],
                   regex: Optional[bool] = None):
          """
          :param str name: software source name
          """
          pulumi.set(__self__, "name", name)
          pulumi.set(__self__, "values", values)
          if regex is not None:
              pulumi.set(__self__, "regex", regex)
  
      @property
      @pulumi.getter
      def name(self) -> str:
          """
          software source name
          """
          return pulumi.get(self, "name")
  
      @name.setter
      def name(self, value: str):
          pulumi.set(self, "name", value)
  
      @property
      @pulumi.getter
      def values(self) -> Sequence[str]:
          return pulumi.get(self, "values")
  
      @values.setter
      def values(self, value: Sequence[str]):
          pulumi.set(self, "values", value)
  
      @property
      @pulumi.getter
      def regex(self) -> Optional[bool]:
          return pulumi.get(self, "regex")
  
      @regex.setter
      def regex(self, value: Optional[bool]):
          pulumi.set(self, "regex", value)
  
  
  @pulumi.input_type
  class GetSoftwareSourcesFilterArgs:
      def __init__(__self__, *,
                   name: str,
                   values: Sequence[str],
                   regex: Optional[bool] = None):
          pulumi.set(__self__, "name", name)
          pulumi.set(__self__, "values", values)
          if regex is not None:
              pulumi.set(__self__, "regex", regex)
  
      @property
      @pulumi.getter
      def name(self) -> str:
          return pulumi.get(self, "name")
  
      @name.setter
      def name(self, value: str):
          pulumi.set(self, "name", value)
  
      @property
      @pulumi.getter
      def values(self) -> Sequence[str]:
          return pulumi.get(self, "values")
  
      @values.setter
      def values(self, value: Sequence[str]):
          pulumi.set(self, "values", value)
  
      @property
      @pulumi.getter
      def regex(self) -> Optional[bool]:
          return pulumi.get(self, "regex")
  
      @regex.setter
      def regex(self, value: Optional[bool]):
          pulumi.set(self, "regex", value)
  
  
  