diff --git a/pkg/pip_requirements.txt b/pkg/pip_requirements.txt
index 7995e09c..67960dd9 100644
--- a/pkg/pip_requirements.txt
+++ b/pkg/pip_requirements.txt
@@ -17,4 +17,5 @@ azure-mgmt-keyvault
 azure-keyvault-certificates
 azure-keyvault-secrets
 azure-mgmt-rdbms
-azure-mgmt-cosmosdb
\ No newline at end of file
+azure-mgmt-cosmosdb
+azure-mgmt-containerinstance
\ No newline at end of file
diff --git a/src/spaceone/inventory/conf/cloud_service_conf.py b/src/spaceone/inventory/conf/cloud_service_conf.py
index edfb3fed..f8e3a8b1 100644
--- a/src/spaceone/inventory/conf/cloud_service_conf.py
+++ b/src/spaceone/inventory/conf/cloud_service_conf.py
@@ -7,6 +7,7 @@
 
 CLOUD_SERVICE_GROUP_MAP = {
     'ApplicationGateways': 'ApplicationGatewaysManager',
+    'ContainerInstances': 'ContainerInstancesManager',
     'CosmosDB': 'CosmosDBManager',
     'Disks': 'DisksManager',
     'KeyVaults': 'KeyVaultsManager',
@@ -20,7 +21,8 @@
     'PublicIPAddresses': 'PublicIPAddressesManager',
     'Snapshots': 'SnapshotsManager',
     'StorageAccounts': 'StorageAccountsManager',
+    'VirtualMachines': 'VirtualMachinesManager',
     'VirtualNetworks': 'VirtualNetworksManager',
     'VMScaleSets': 'VmScaleSetsManager',
-    'VirtualMachines': 'VirtualMachinesManager',
+
 }
diff --git a/src/spaceone/inventory/connector/__init__.py b/src/spaceone/inventory/connector/__init__.py
index 800e6de6..59ca4f92 100644
--- a/src/spaceone/inventory/connector/__init__.py
+++ b/src/spaceone/inventory/connector/__init__.py
@@ -17,3 +17,4 @@
 from spaceone.inventory.connector.virtual_machines import VirtualMachinesConnector
 from spaceone.inventory.connector.sql_servers import SQLServersConnector
 from spaceone.inventory.connector.sql_databases import SQLDatabasesConnector
+from spaceone.inventory.connector.container_instances import ContainerInstancesConnector
diff --git a/src/spaceone/inventory/connector/container_instances/__init__.py b/src/spaceone/inventory/connector/container_instances/__init__.py
new file mode 100644
index 00000000..365e445f
--- /dev/null
+++ b/src/spaceone/inventory/connector/container_instances/__init__.py
@@ -0,0 +1 @@
+from spaceone.inventory.connector.container_instances.connector import ContainerInstancesConnector
\ No newline at end of file
diff --git a/src/spaceone/inventory/connector/container_instances/connector.py b/src/spaceone/inventory/connector/container_instances/connector.py
new file mode 100644
index 00000000..eec76bd0
--- /dev/null
+++ b/src/spaceone/inventory/connector/container_instances/connector.py
@@ -0,0 +1,20 @@
+import logging
+
+from spaceone.inventory.libs.connector import AzureConnector
+from spaceone.inventory.error.custom import *
+__all__ = ['ContainerInstancesConnector']
+_LOGGER = logging.getLogger(__name__)
+
+
+class ContainerInstancesConnector(AzureConnector):
+
+    def __init__(self, **kwargs):
+        super().__init__(**kwargs)
+        self.set_connect(kwargs.get('secret_data'))
+
+    def list_container_groups(self):
+        return self.container_instance_client.container_groups.list()
+
+    def get_container_groups(self, resource_group_name, container_group_name):
+        return self.container_instance_client.container_groups.get(resource_group_name=resource_group_name,
+                                                                   container_group_name=container_group_name)
diff --git a/src/spaceone/inventory/libs/connector.py b/src/spaceone/inventory/libs/connector.py
index 43983895..51092e80 100644
--- a/src/spaceone/inventory/libs/connector.py
+++ b/src/spaceone/inventory/libs/connector.py
@@ -13,6 +13,7 @@
 from azure.mgmt.rdbms.mysql import MySQLManagementClient
 from azure.mgmt.cosmosdb import CosmosDBManagementClient
 from azure.mgmt.rdbms.postgresql import PostgreSQLManagementClient
+from azure.mgmt.containerinstance import ContainerInstanceManagementClient
 from spaceone.core.connector import BaseConnector
 
 DEFAULT_SCHEMA = 'azure_client_secret'
@@ -48,6 +49,7 @@ def __init__(self, **kwargs):
         self.mysql_client = None
         self.cosmosdb_client = None
         self.postgre_sql_client = None
+        self.container_instance_client = None
 
     def set_connect(self, secret_data):
         subscription_id = secret_data['subscription_id']
@@ -70,6 +72,7 @@ def set_connect(self, secret_data):
         self.mysql_client = MySQLManagementClient(credential=credential, subscription_id=subscription_id)
         self.cosmosdb_client = CosmosDBManagementClient(credential=credential, subscription_id=subscription_id)
         self.postgre_sql_client = PostgreSQLManagementClient(credential=credential, subscription_id=subscription_id)
+        self.container_instance_client = ContainerInstanceManagementClient(credential=credential, subscription_id=subscription_id)
 
     def verify(self, **kwargs):
         self.set_connect(kwargs['secret_data'])
diff --git a/src/spaceone/inventory/libs/schema/resource.py b/src/spaceone/inventory/libs/schema/resource.py
index 6538e23c..8255b950 100644
--- a/src/spaceone/inventory/libs/schema/resource.py
+++ b/src/spaceone/inventory/libs/schema/resource.py
@@ -62,5 +62,4 @@ class AzureCloudService(Model):
     resource_group = StringType(serialize_when_none=False)
     subscription_id = StringType(serialize_when_none=False)
     subscription_name = StringType(serialize_when_none=False)
-    tags = ListType(ModelType(AzureTags), default=[])
     azure_monitor = ModelType(AzureMonitorModel, serialize_when_none=False)
\ No newline at end of file
diff --git a/src/spaceone/inventory/manager/__init__.py b/src/spaceone/inventory/manager/__init__.py
index 5fae02a8..0975bfd0 100644
--- a/src/spaceone/inventory/manager/__init__.py
+++ b/src/spaceone/inventory/manager/__init__.py
@@ -16,3 +16,4 @@
 from spaceone.inventory.manager.cosmos_db.instance_manager import CosmosDBManager
 from spaceone.inventory.manager.postgresql_servers.server_manager import PostgreSQLServersManager
 from spaceone.inventory.manager.virtual_machines.instnace_manger import VirtualMachinesManager
+from spaceone.inventory.manager.container_instances.container_manager import ContainerInstancesManager
diff --git a/src/spaceone/inventory/manager/container_instances/__init__.py b/src/spaceone/inventory/manager/container_instances/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/spaceone/inventory/manager/container_instances/container_manager.py b/src/spaceone/inventory/manager/container_instances/container_manager.py
new file mode 100644
index 00000000..3f49ca07
--- /dev/null
+++ b/src/spaceone/inventory/manager/container_instances/container_manager.py
@@ -0,0 +1,86 @@
+import time
+import logging
+from spaceone.inventory.libs.manager import AzureManager
+from spaceone.inventory.connector.container_instances import ContainerInstancesConnector
+from spaceone.inventory.model.container_instances.cloud_service import *
+from spaceone.inventory.model.container_instances.cloud_service_type import CLOUD_SERVICE_TYPES
+from spaceone.inventory.model.container_instances.data import *
+
+_LOGGER = logging.getLogger(__name__)
+
+
+class ContainerInstancesManager(AzureManager):
+    connector_name = 'ContainerInstancesConnector'
+    cloud_service_types = CLOUD_SERVICE_TYPES
+
+    def collect_cloud_service(self, params):
+        """
+                Args:
+                    params (dict):
+                        - 'options' : 'dict'
+                        - 'schema' : 'str'
+                        - 'secret_data' : 'dict'
+                        - 'filter' : 'dict'
+                        - 'zones' : 'list'
+                        - 'subscription_info' :  'dict'
+                Response:
+                    CloudServiceResponse (list) : list of azure application gateway data resource information
+                    ErrorResourceResponse (list) : list of error resource information
+        """
+
+        _LOGGER.debug(f'** Container Instances START **')
+
+        start_time = time.time()
+        subscription_info = params['subscription_info']
+
+        container_instances_conn: ContainerInstancesConnector = self.locator.get_connector(self.connector_name, **params)
+        container_instances_responses = []
+        error_responses = []
+
+        container_instances = container_instances_conn.list_container_groups()
+        for container_instance in container_instances:
+            container_instance_id = ''
+            try:
+                container_instance_dict = self.convert_nested_dictionary(container_instance)
+                container_instance_id = container_instance_dict['id']
+
+                # if bug fix these code will be deleted
+                resource_group_name = self.get_resource_group_from_id(container_instance_id)
+                container_group_name = container_instance_dict['name']
+                container_instance = container_instances_conn.get_container_groups(resource_group_name=resource_group_name,
+                                                              container_group_name=container_group_name)
+                container_instance_dict = self.convert_nested_dictionary(container_instance)
+                time.sleep(0.2)  # end code
+
+                # Update data info in Container's Raw Data
+                container_instance_dict.update({
+                    'resource_group': self.get_resource_group_from_id(container_instance_id),
+                    'subscription_id': subscription_info['subscription_id'],
+                    'subscription_name': subscription_info['subscription_name'],
+                    'azure_monitor': {'resource_id': container_instance_id},
+                    'container_count_display': container_instance_dict['containers'].__len__()
+                })
+
+                # switch tags form and update tag info
+                _tags = self.convert_tag_format(container_instance_dict.get('tags', {}))
+
+                container_instance_data = ContainerInstance(container_instance_dict, strict=False)
+                container_instance_resource = ContainerInstanceResource({
+                    'name': container_instance_data.name,
+                    'account': container_instance_dict['subscription_id'],
+                    'state': container_instance_data.instance_view.state,
+                    'data': container_instance_data,
+                    'tags': _tags,
+                    'region_code': container_instance_data.location
+                })
+
+                self.set_region_code(container_instance_data['location'])
+                container_instances_responses.append(ContainerInstanceResponse({'resource': container_instance_resource}))
+
+            except Exception as e:
+                _LOGGER.error(f'[list_instances] {container_instance_id} {e}', exc_info=True)
+                error_response = self.generate_resource_error_response(e, 'Container', 'ContainerInstances', container_instance_id)
+                error_responses.append(error_response)
+
+        _LOGGER.debug(f'** Container Instances Finished {time.time() - start_time} Seconds **')
+        return container_instances_responses, error_responses
diff --git a/src/spaceone/inventory/manager/sql_databases/database_manager.py b/src/spaceone/inventory/manager/sql_databases/database_manager.py
index 2cf317dc..1b55b26e 100644
--- a/src/spaceone/inventory/manager/sql_databases/database_manager.py
+++ b/src/spaceone/inventory/manager/sql_databases/database_manager.py
@@ -233,10 +233,10 @@ def get_database_auditing_settings(self, sql_databases_conn, resource_group_name
 
     @staticmethod
     def get_pricing_tier_display(sku_dict):
-        pricing_tier = None
-        if sku_dict.get('capacity') is not None:
+        if sku_dict['name'] in ['Basic', 'Standard', 'Premium']:
+            pricing_tier = f'{sku_dict["tier"]}: {sku_dict["capacity"]} DTU'
+        else:
             pricing_tier = f'{str(sku_dict["tier"])} : {str(sku_dict["family"])} , {str(sku_dict["capacity"])} vCores'
-
         return pricing_tier
 
     @staticmethod
diff --git a/src/spaceone/inventory/model/container_instances/__init__.py b/src/spaceone/inventory/model/container_instances/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/spaceone/inventory/model/container_instances/cloud_service.py b/src/spaceone/inventory/model/container_instances/cloud_service.py
new file mode 100644
index 00000000..3ff2d1e2
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/cloud_service.py
@@ -0,0 +1,79 @@
+from schematics.types import ModelType, StringType, PolyModelType, FloatType, DateTimeType
+from spaceone.inventory.model.container_instances.data import ContainerInstance
+from spaceone.inventory.libs.schema.cloud_service import CloudServiceResource, CloudServiceResponse, CloudServiceMeta
+from spaceone.inventory.libs.schema.metadata.dynamic_layout import ItemDynamicLayout, TableDynamicLayout, ListDynamicLayout
+from spaceone.inventory.libs.schema.metadata.dynamic_field import TextDyField, DateTimeDyField, EnumDyField, ListDyField, SizeField
+
+'''
+CONTAINER_INSTANCES
+'''
+
+# TAB - Default
+container_instances_info_meta = ItemDynamicLayout.set_fields('Container Instances', fields=[
+    TextDyField.data_source('Name', 'name'),
+    TextDyField.data_source('Resource ID', 'data.id'),
+    TextDyField.data_source('Resource Group', 'data.resource_group'),
+    TextDyField.data_source('Region', 'region_code'),
+    TextDyField.data_source('Subscription', 'data.subscription_name'),
+    TextDyField.data_source('Subscription ID', 'account'),
+    TextDyField.data_source('SKU', 'data.sku'),
+    TextDyField.data_source('OS type', 'data'),
+    TextDyField.data_source('Container count', 'data.container_count_display'),
+    TextDyField.data_source('IP Address', 'data.ip_address.ip'),
+    TextDyField.data_source('IP Address Type', 'data.ip_address.type'),
+    TextDyField.data_source('FQDN', 'data.ip_address.fqdn'),
+    TextDyField.data_source('DNS name label', 'data.ip_address.auto_generated_domain_name_label_scope'),
+    TextDyField.data_source('DNS name label scope reuse', 'data.ip_address.dns_name_label'),
+    ListDyField.data_source('Ports', 'data.ip_address.ports.port', options={'delimiter': '<br>'})
+])
+
+# TAB -Container
+container_instances_info_container = TableDynamicLayout.set_fields('Containers', 'data', fields=[
+    TextDyField.data_source('Name', 'containers.name'),
+    TextDyField.data_source('Container Instance', 'name'),
+    TextDyField.data_source('Image', 'containers.image'),
+    TextDyField.data_source('State', 'containers.instance_view.current_state.state'),
+    TextDyField.data_source('Start time', 'containers.instance_view.current_state.start_time'),
+    TextDyField.data_source('Restart count', 'containers.instance_view.restart_count'),
+    TextDyField.data_source('CPU cores', 'containers.resources.requests.cpu', options={
+        'translation_id': 'PAGE_SCHEMA.CPU_CORE',
+    }),
+    TextDyField.data_source('Memory', 'containers.resources.requests.memory_in_gb', options={
+        'translation_id': 'PAGE_SCHEMA.MEMORY',
+    }),
+    TextDyField.data_source('GPU SKU', 'containers.resources.requests.gpu.sku'),
+    TextDyField.data_source('GPU count', 'containers.resources.requests.gpu.count'),
+    ListDyField.data_source('Commands', 'containers.command', options={'delimiter': '<br>'}),
+])
+
+# TAB - Volume
+container_instances_info_volumes = TableDynamicLayout.set_fields('Volumes', 'data', fields=[
+    TextDyField.data_source('Name', 'volumes.name'),
+    TextDyField.data_source('Container Instance', 'name'),
+    TextDyField.data_source('Volume type', 'containers.volume_mounts.name'),
+    TextDyField.data_source('Mount path', 'containers.volume_mounts.mount_path')
+
+])
+
+container_instances_meta = CloudServiceMeta.set_layouts(
+    [container_instances_info_meta, container_instances_info_container, container_instances_info_volumes]
+)
+
+
+class ContainerResource(CloudServiceResource):
+    cloud_service_group = StringType(default='ContainerInstances')
+
+
+class ContainerInstanceResource(ContainerResource):
+    cloud_service_type = StringType(default='Container')
+    data = ModelType(ContainerInstance)
+    _metadata = ModelType(CloudServiceMeta, default=container_instances_meta, serialized_name='metadata')
+    name = StringType(serialize_when_none=False)
+    account = StringType(serialize_when_none=False)
+    instance_type = StringType(serialize_when_none=False)
+    instance_size = FloatType(serialize_when_none=False)
+    state = StringType(serialize_when_none=False)
+
+
+class ContainerInstanceResponse(CloudServiceResponse):
+    resource = PolyModelType(ContainerInstanceResource)
diff --git a/src/spaceone/inventory/model/container_instances/cloud_service_type.py b/src/spaceone/inventory/model/container_instances/cloud_service_type.py
new file mode 100644
index 00000000..b57e81e5
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/cloud_service_type.py
@@ -0,0 +1,83 @@
+import os
+from spaceone.inventory.libs.utils import *
+from spaceone.inventory.libs.schema.metadata.dynamic_widget import CardWidget, ChartWidget
+from spaceone.inventory.libs.schema.metadata.dynamic_field import TextDyField, SearchField
+from spaceone.inventory.libs.schema.cloud_service_type import CloudServiceTypeResource, CloudServiceTypeResponse, \
+    CloudServiceTypeMeta
+
+current_dir = os.path.abspath(os.path.dirname(__file__))
+
+container_instances_count_by_account_conf = os.path.join(current_dir, 'widget/container_instances_count_by_account.yaml')
+container_instances_count_by_region_conf = os.path.join(current_dir, 'widget/container_instances_count_by_region.yaml')
+container_instances_count_by_subscription_conf = os.path.join(current_dir, 'widget/container_Instances_count_by_subscription.yaml')
+container_instances_total_container_conf = os.path.join(current_dir, 'widget/container_instances_total_container_count.yaml')
+container_instances_total_count_conf = os.path.join(current_dir, 'widget/container_instances_total_count.yaml')
+container_instances_total_gpu_conf = os.path.join(current_dir, 'widget/container_instances_total_gpu_count.yaml')
+container_instances_total_memory_conf = os.path.join(current_dir, 'widget/container_instances_total_memory_size.yaml')
+container_instances_total_vcpu_conf = os.path.join(current_dir, 'widget/container_instances_total_vcpu_count.yaml')
+
+cst_container_instances = CloudServiceTypeResource()
+cst_container_instances.name = 'Container'
+cst_container_instances.group = 'ContainerInstances'
+cst_container_instances.service_code = 'Microsoft.ContainerInstance/containerGroups'
+cst_container_instances.labels = ['Container']
+cst_container_instances.is_major = True
+cst_container_instances.is_primary = True
+cst_container_instances.tags = {
+    'spaceone:icon': 'https://spaceone-custom-assets.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/azure/azure-container-instances.svg',
+}
+
+
+cst_container_instances._metadata = CloudServiceTypeMeta.set_meta(
+    fields=[
+        TextDyField.data_source('Container Group Name', 'name'),
+        TextDyField.data_source('Status', 'state'),
+        TextDyField.data_source('Resource Group', 'data.resource_group'),
+        TextDyField.data_source('OS type', 'data.os_type'),
+        TextDyField.data_source('Total Containers', 'data.container_count_display'),
+        TextDyField.data_source('Subscription ID', 'account'),
+        TextDyField.data_source('Subscription Name', 'data.subscription_name'),
+        TextDyField.data_source('Provisioning State', 'data.provisioning_state', options={
+            'is_optional': True
+        }),
+        TextDyField.data_source('Restart Policy', 'data.restart_policy', options={
+            'is_optional': True
+        }),
+        TextDyField.data_source('IP Address', 'data.ip_address.ip', options={
+            'is_optional': True
+        }),
+        TextDyField.data_source('IP Address Type', 'data.ip_address.type', options={
+            'is_optional': True
+        }),
+        TextDyField.data_source('FQDN', 'data.ip_address.fqdn', options={
+            'is_optional': True
+        })
+    ],
+    search=[
+        SearchField.set(name='Container Group Name', key='name'),
+        SearchField.set(name='Status', key='state'),
+        SearchField.set(name='Resource Group', key='data.resource_group'),
+        SearchField.set(name='OS type', key='data.os_type'),
+        SearchField.set(name='Total Containers', key='data.container_count_display'),
+        SearchField.set(name='Subscription ID', key='account'),
+        SearchField.set(name='Subscription Name', key='data.subscription_name'),
+        SearchField.set(name='Provisioning State', key='data.provisioning_state'),
+        SearchField.set(name='Restart Policy', key='data.restart_policy'),
+        SearchField.set(name='IP Address', key='data.ip_address.ip'),
+        SearchField.set(name='FQDN', key='data.ip_address.fqdn'),
+    ],
+    widget=[
+        ChartWidget.set(**get_data_from_yaml(container_instances_count_by_account_conf)),
+        ChartWidget.set(**get_data_from_yaml(container_instances_count_by_region_conf)),
+        ChartWidget.set(**get_data_from_yaml(container_instances_count_by_subscription_conf)),
+        CardWidget.set(**get_data_from_yaml(container_instances_total_count_conf)),
+        CardWidget.set(**get_data_from_yaml(container_instances_total_container_conf)),
+        CardWidget.set(**get_data_from_yaml(container_instances_total_vcpu_conf)),
+        CardWidget.set(**get_data_from_yaml(container_instances_total_gpu_conf)),
+        CardWidget.set(**get_data_from_yaml(container_instances_total_gpu_conf))
+    ]
+)
+
+CLOUD_SERVICE_TYPES = [
+    CloudServiceTypeResponse({'resource': cst_container_instances}),
+]
\ No newline at end of file
diff --git a/src/spaceone/inventory/model/container_instances/data.py b/src/spaceone/inventory/model/container_instances/data.py
new file mode 100644
index 00000000..02ca342b
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/data.py
@@ -0,0 +1,259 @@
+from schematics import Model
+from schematics.types import ModelType, DictType, StringType, ListType, IntType, BooleanType, DateTimeType, FloatType
+from spaceone.inventory.libs.schema.resource import AzureCloudService
+
+
+# ContainerGroupIdentity
+class UserAssignedIdentity(Model):
+    client_id = StringType(serialize_when_none=False)
+    principal_id = StringType(serialize_when_none=False)
+
+
+class ContainerGroupIdentity(Model):
+    principal_id = StringType(serialize_when_none=False)
+    tenant_id = StringType(serialize_when_none=False)
+    type = StringType(choices=('NONE', 'SYSTEM_ASSIGNED', 'SYSTEM_ASSIGNED_USER_ASSIGNED', 'USER_ASSIGNED'), serialize_when_none=False)
+    user_assigned_identities = DictType(StringType, ModelType(UserAssignedIdentity), serialize_when_none=False)
+
+
+# Container
+class ContainerPort(Model):
+    protocol = StringType(choices=('TCP', 'UDP'), default='TCP')
+    port = IntType(serialize_when_none=False)
+
+
+class EnvironmentVariable(Model):
+    name = StringType(serialize_when_none=False)
+    value = StringType(serialize_when_none=False)
+    secure_value = StringType(serialize_when_none=False)
+
+
+# Container - ContainerPropertiesInstanceView
+class ContainerState(Model):
+    state = StringType(serialize_when_none=False)
+    start_time = DateTimeType(serialize_when_none=False)
+    exit_code = IntType(serialize_when_none=False)
+    finish_time = DateTimeType(serialize_when_none=False)
+    detail_status = StringType(serialize_when_none=False)
+
+
+class Event(Model):
+    count = IntType(serialize_when_none=False)
+    first_timestamp = DateTimeType(serialize_when_none=False)
+    last_timestamp = DateTimeType(serialize_when_none=False)
+    name = StringType(serialize_when_none=False)
+    message = StringType(serialize_when_none=False)
+    type = StringType(serialize_when_none=False)
+
+
+class ContainerPropertiesInstanceView(Model):
+    restart_count = IntType(serialize_when_none=False)
+    current_state = ModelType(ContainerState, serialize_when_none=False)
+    previous_state = ModelType(ContainerState, serialize_when_none=False)
+    events = ListType(ModelType(Event), serialize_when_none=False)
+
+
+# Container - ResourceRequirements
+class GpuResource(Model):
+    count = IntType(serialize_when_none=False)
+    sku = StringType(choices=('K80', 'P100', 'V100'), serialize_when_none=False)
+
+
+class ResourceRequests(Model):
+    memory_in_gb = FloatType(serialize_when_none=False)
+    cpu = FloatType(serialize_when_none=False)
+    gpu = ModelType(GpuResource, serialize_when_none=False)
+
+
+class ResourceLimits(Model):
+    memory_in_gb = FloatType(serialize_when_none=False)
+    cpu = FloatType(serialize_when_none=False)
+    gpu = ModelType(GpuResource, serialize_when_none=False)
+
+
+class ResourceRequirements(Model):
+    requests = ModelType(ResourceRequests, serialize_when_none=False)
+    limits = ModelType(ResourceLimits, serialize_when_none=False)
+
+
+# Container - VolumeMount
+class VolumeMount(Model):
+    name = StringType(serialize_when_none=False)
+    mount_path = StringType(serialize_when_none=False)
+    read_only = BooleanType(serialize_when_none=False)
+
+
+# Container - ContainerProbe
+class ContainerExec(Model):
+    command = ListType(StringType(serialize_when_none=False))
+
+
+class HttpHeader(Model):
+    name = StringType(serialize_when_none=False)
+    value = StringType(serialize_when_none=False)
+
+
+class ContainerHttpGet(Model):
+    path = StringType(serialize_when_none=False)
+    port = IntType(serialize_when_none=False)
+    scheme = StringType(choices=('HTTP', 'HTTPS'), serialize_when_none=False)
+    http_headers = ListType(ModelType(HttpHeader), serialize_when_none=False)
+
+
+class ContainerProbe(Model):
+    exec_property = ModelType(ContainerExec, serialize_when_none=False)
+    http_get = ModelType(ContainerHttpGet, serialize_when_none=False)
+    initial_delay_seconds = IntType(serialize_when_none=False)
+    period_seconds = IntType(serialize_when_none=False)
+    failure_threshold = IntType(serialize_when_none=False)
+    success_threshold = IntType(serialize_when_none=False)
+    timeout_seconds = IntType(serialize_when_none=False)
+
+
+class Container(Model):
+    name = StringType(serialize_when_none=False)
+    image = StringType(serialize_when_none=False)
+    command = ListType(StringType, serialize_when_none=False)
+    ports = ListType(ModelType(ContainerPort), serialize_when_none=False)
+    environment_variables = ListType(ModelType(EnvironmentVariable), serialize_when_none=False)
+    instance_view = ModelType(ContainerPropertiesInstanceView)
+    resources = ModelType(ResourceRequirements, serialize_when_none=False)
+    volume_mounts = ListType(ModelType(VolumeMount), serialize_when_none=None)
+    liveness_probe = ModelType(ContainerProbe, serialize_when_none=False)
+    readiness_probe = ModelType(ContainerProbe, serialize_when_none=False)
+
+
+# ImageRegistryCredential
+class ImageRegistryCredential(Model):
+    server = StringType(serialize_when_none=False)
+    username = StringType(serialize_when_none=False)
+    password = StringType(serialize_when_none=False)
+    identity = StringType(serialize_when_none=False)
+    identity_url = StringType(serialize_when_none=False)
+
+
+# IpAddress
+class Port(ContainerPort):
+    pass
+
+
+class IpAddress(Model):
+    ports = ListType(ModelType(Port), serialize_when_none=False)
+    type = StringType(choices=('PRIVATE', 'PUBLIC'))
+    ip = StringType(serialize_when_none=False)
+    dns_name_label = StringType(serialize_when_none=False)
+    auto_generated_domain_name_label_scope = StringType(choices=('NOREUSE', 'RESOURCE_GROUP_REUSE', 'SUBSCRIPTION_REUSE',
+                                                                 'TENANT_REUSE', 'UNSECURE'))
+    fqdn = StringType(serialize_when_none=False)
+
+
+# Volume
+
+# Volume - AzureFileVolume
+class AzureFileVolume(Model):
+    share_name = StringType(serialize_when_none=False)
+    read_only = BooleanType(serialize_when_none=False)
+    storage_account_name = StringType(serialize_when_none=False)
+    storage_account_key = StringType(serialize_when_none=False)
+
+
+# Volume - GitRepoVolume
+class GitRepoVolume(Model):
+    directory = StringType(serialize_when_none=False)
+    repository = StringType(serialize_when_none=False)
+    revision = StringType(serialize_when_none=False)
+
+
+class Volume(Model):
+    name = StringType(serialize_when_none=False)
+    azure_file = ModelType(AzureFileVolume, serialize_when_none=False)
+    empty_dir = DictType(StringType, StringType)
+    secret = DictType(StringType, StringType, serialize_when_none=False)
+    git_repo = ModelType(GitRepoVolume, serialize_when_none=False)
+
+
+# ContainerGroupPropertiesInstanceView
+class ContainerGroupPropertiesInstanceView(Model):
+    events = ListType(ModelType(Event))
+    state = StringType(serialize_when_none=False)
+
+# ContainerGroupDiagnostics
+
+
+# ContainerGroupDiagnostics LogAnalytics
+class LogAnalytics(Model):
+    workspace_id = StringType(serialize_when_none=False)
+    workspace_key = StringType(serialize_when_none=False)
+    log_type = StringType(choices=('CONTAINER_INSIGHTS', 'CONTAINER_INSTANCE_LOGS'))
+    metadata = DictType(StringType, StringType, serialize_when_none=False)
+    workspace_resource_id = StringType(serialize_when_none=False)
+
+
+class ContainerGroupDiagnostics(Model):
+    log_analytics = ModelType(LogAnalytics, serialize_when_none=False)
+
+
+# ContainerGroupSubnetId
+class ContainerGroupSubnetId(Model):
+    id = StringType(serialize_when_none=False)
+    name = StringType(serialize_when_none=False)
+
+
+# DnsConfiguration
+class DnsConfiguration(Model):
+    name_servers = ListType(StringType, serialize_when_none=False)
+    search_domains = StringType(serialize_when_none=False)
+    options = StringType(serialize_when_none=False)
+
+
+# EncryptionProperties
+class EncryptionProperties(Model):
+    vault_base_url = StringType(serialize_when_none=False)
+    key_name = StringType(serialize_when_none=False)
+    key_version = StringType(serialize_when_none=False)
+
+# InitContainerDefinition
+
+
+# InitContainerDefinition - InitContainerPropertiesDefinitionInstanceView
+class InitContainerPropertiesDefinitionInstanceView(ContainerPropertiesInstanceView):
+    pass
+
+
+class InitContainerDefinition(Model):
+    name = StringType(serialize_when_none=False)
+    image = StringType(serialize_when_none=False)
+    command = ListType(StringType, serialize_when_none=False)
+    environment_variables = ListType(ModelType(EnvironmentVariable), serialize_when_none=False)
+    instance_view = ModelType(InitContainerPropertiesDefinitionInstanceView, serialize_when_none=False)
+    volume_mounts = ListType(ModelType(VolumeMount), serialize_when_none=False)
+
+
+class ContainerInstance(AzureCloudService):  # Main Class
+    id = StringType(serialize_when_none=False)
+    location = StringType(serialize_when_none=False)
+    identity = ModelType(ContainerGroupIdentity)
+    provisioning_state = StringType(serialize_when_none=False)
+    containers = ListType(ModelType(Container), serialize_when_none=False)
+    image_registry_credentials = ListType(ModelType(ImageRegistryCredential), serialize_when_none=False)
+    restart_policy = StringType(choices=('ALWAYS', 'NEVER', 'ON_FAILURE'))
+    ip_address = ModelType(IpAddress, serialize_when_none=False)
+    os_type = StringType(choices=('LINUX', 'WINDOWS'))
+    volumes = ListType(ModelType(Volume), serialize_when_none=False)
+    instance_view = ModelType(ContainerGroupPropertiesInstanceView, serialize_when_none=False)
+    diagnostics = ModelType(ContainerGroupDiagnostics, serialize_when_none=False)
+    subnet_ids = ListType(ModelType(ContainerGroupSubnetId), serialize_when_none=False)
+    dns_config = ModelType(DnsConfiguration, serialize_when_none=False)
+    sku = StringType(choices=('DEDICATED', 'STANDARD'), serialize_when_none=False)
+    encryption_properties = ModelType(EncryptionProperties, serialize_when_none=False)
+    init_containers = ListType(ModelType(InitContainerDefinition), serialize_when_none=False)
+    name = StringType(serialize_when_none=False)
+    type = StringType(serialize_when_none=False)
+    zones = ListType(StringType, serialize_when_none=False)
+    container_count_display = IntType(serialize_when_none=False)
+
+    def reference(self):
+        return {
+            "resource_id": self.id,
+            "external_link": f"https://portal.azure.com/#@.onmicrosoft.com/resource{self.id}/overview",
+        }
\ No newline at end of file
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_Instances_count_by_subscription.yaml b/src/spaceone/inventory/model/container_instances/widget/container_Instances_count_by_subscription.yaml
new file mode 100644
index 00000000..9b7cd263
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_Instances_count_by_subscription.yaml
@@ -0,0 +1,16 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Count by Subscription
+query:
+  aggregate:
+    - group:
+        keys:
+          - name: name
+            key: account
+        fields:
+          - name: value
+            key: account
+            operator: count
+options:
+  chart_type: DONUT
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_count_by_account.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_count_by_account.yaml
new file mode 100644
index 00000000..a865425e
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_count_by_account.yaml
@@ -0,0 +1,19 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Count By Account
+query:
+  aggregate:
+    - group:
+        keys:
+          - name: name
+            key: account
+        fields:
+          - name: value
+            operator: count
+  filter:
+    - key: account
+      value: true
+      operator: exists
+options:
+  chart_type: DONUT
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_count_by_region.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_count_by_region.yaml
new file mode 100644
index 00000000..efef2e2c
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_count_by_region.yaml
@@ -0,0 +1,20 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Count by Region
+query:
+  aggregate:
+    - group:
+        keys:
+          - name: name
+            key: region_code
+        fields:
+          - name: value
+            operator: count
+options:
+  chart_type: COLUMN
+  name_options:
+    key: name
+    reference:
+      resource_type: inventory.Region
+      reference_key: region_code
\ No newline at end of file
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_total_container_count.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_container_count.yaml
new file mode 100644
index 00000000..0b3e63b1
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_container_count.yaml
@@ -0,0 +1,16 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Total Container Count
+query:
+  aggregate:
+    - group:
+        fields:
+          - name: value
+            key: data.containers
+            operator: sum
+options:
+  value_options:
+    key: value
+    options:
+      default: 0
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_total_count.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_count.yaml
new file mode 100644
index 00000000..64e80953
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_count.yaml
@@ -0,0 +1,16 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Total Count
+query:
+  aggregate:
+    - group:
+        fields:
+          - name: value
+            operator: count
+options:
+  value_options:
+    key: value
+    type: count
+    options:
+      default: 0
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_total_gpu_count.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_gpu_count.yaml
new file mode 100644
index 00000000..6f8b99f9
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_gpu_count.yaml
@@ -0,0 +1,16 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Total Gpu Count
+query:
+  aggregate:
+    - group:
+        fields:
+          - name: value
+            key: data.containers.resources.requests.gpu.count
+            operator: sum
+options:
+  value_options:
+    key: value
+    options:
+      default: 0
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_total_memory_size.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_memory_size.yaml
new file mode 100644
index 00000000..5dd8a435
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_memory_size.yaml
@@ -0,0 +1,18 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Total Memory Size
+query:
+  aggregate:
+    - group:
+        fields:
+          - name: value
+            key: data.containers.resources.requests.memory_in_gb
+            operator: sum
+options:
+  value_options:
+    key: value
+    type: size
+    options:
+      default: 0
+      source_unit: GB
diff --git a/src/spaceone/inventory/model/container_instances/widget/container_instances_total_vcpu_count.yaml b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_vcpu_count.yaml
new file mode 100644
index 00000000..f4178ea2
--- /dev/null
+++ b/src/spaceone/inventory/model/container_instances/widget/container_instances_total_vcpu_count.yaml
@@ -0,0 +1,16 @@
+---
+cloud_service_group: ContainerInstances
+cloud_service_type: Container
+name: Total vCPU Count
+query:
+  aggregate:
+    - group:
+        fields:
+          - name: value
+            key: data.containers.resources.requests.cpu
+            operator: sum
+options:
+  value_options:
+    key: value
+    options:
+      default: 0