# 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
from . import outputs
from ._inputs import *

__all__ = ['NotificationConfigArgs', 'NotificationConfig']

@pulumi.input_type
class NotificationConfigArgs:
    def __init__(__self__, *,
                 config_id: pulumi.Input[str],
                 organization: pulumi.Input[str],
                 pubsub_topic: pulumi.Input[str],
                 streaming_config: pulumi.Input['NotificationConfigStreamingConfigArgs'],
                 description: Optional[pulumi.Input[str]] = None):
        """
        The set of arguments for constructing a NotificationConfig resource.
        :param pulumi.Input[str] config_id: This must be unique within the organization.
        :param pulumi.Input[str] organization: The organization whose Cloud Security Command Center the Notification
               Config lives in.
        :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
               "projects/[project_id]/topics/[topic]".
        :param pulumi.Input['NotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
               Structure is documented below.
        :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
        """
        pulumi.set(__self__, "config_id", config_id)
        pulumi.set(__self__, "organization", organization)
        pulumi.set(__self__, "pubsub_topic", pubsub_topic)
        pulumi.set(__self__, "streaming_config", streaming_config)
        if description is not None:
            pulumi.set(__self__, "description", description)

    @property
    @pulumi.getter(name="configId")
    def config_id(self) -> pulumi.Input[str]:
        """
        This must be unique within the organization.
        """
        return pulumi.get(self, "config_id")

    @config_id.setter
    def config_id(self, value: pulumi.Input[str]):
        pulumi.set(self, "config_id", value)

    @property
    @pulumi.getter
    def organization(self) -> pulumi.Input[str]:
        """
        The organization whose Cloud Security Command Center the Notification
        Config lives in.
        """
        return pulumi.get(self, "organization")

    @organization.setter
    def organization(self, value: pulumi.Input[str]):
        pulumi.set(self, "organization", value)

    @property
    @pulumi.getter(name="pubsubTopic")
    def pubsub_topic(self) -> pulumi.Input[str]:
        """
        The Pub/Sub topic to send notifications to. Its format is
        "projects/[project_id]/topics/[topic]".
        """
        return pulumi.get(self, "pubsub_topic")

    @pubsub_topic.setter
    def pubsub_topic(self, value: pulumi.Input[str]):
        pulumi.set(self, "pubsub_topic", value)

    @property
    @pulumi.getter(name="streamingConfig")
    def streaming_config(self) -> pulumi.Input['NotificationConfigStreamingConfigArgs']:
        """
        The config for triggering streaming-based notifications.
        Structure is documented below.
        """
        return pulumi.get(self, "streaming_config")

    @streaming_config.setter
    def streaming_config(self, value: pulumi.Input['NotificationConfigStreamingConfigArgs']):
        pulumi.set(self, "streaming_config", value)

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[str]]:
        """
        The description of the notification config (max of 1024 characters).
        """
        return pulumi.get(self, "description")

    @description.setter
    def description(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "description", value)


@pulumi.input_type
class _NotificationConfigState:
    def __init__(__self__, *,
                 config_id: Optional[pulumi.Input[str]] = None,
                 description: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 organization: Optional[pulumi.Input[str]] = None,
                 pubsub_topic: Optional[pulumi.Input[str]] = None,
                 service_account: Optional[pulumi.Input[str]] = None,
                 streaming_config: Optional[pulumi.Input['NotificationConfigStreamingConfigArgs']] = None):
        """
        Input properties used for looking up and filtering NotificationConfig resources.
        :param pulumi.Input[str] config_id: This must be unique within the organization.
        :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
        :param pulumi.Input[str] name: The resource name of this notification config, in the format
               'organizations/{{organization}}/notificationConfigs/{{config_id}}'.
        :param pulumi.Input[str] organization: The organization whose Cloud Security Command Center the Notification
               Config lives in.
        :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
               "projects/[project_id]/topics/[topic]".
        :param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
        :param pulumi.Input['NotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
               Structure is documented below.
        """
        if config_id is not None:
            pulumi.set(__self__, "config_id", config_id)
        if description is not None:
            pulumi.set(__self__, "description", description)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if organization is not None:
            pulumi.set(__self__, "organization", organization)
        if pubsub_topic is not None:
            pulumi.set(__self__, "pubsub_topic", pubsub_topic)
        if service_account is not None:
            pulumi.set(__self__, "service_account", service_account)
        if streaming_config is not None:
            pulumi.set(__self__, "streaming_config", streaming_config)

    @property
    @pulumi.getter(name="configId")
    def config_id(self) -> Optional[pulumi.Input[str]]:
        """
        This must be unique within the organization.
        """
        return pulumi.get(self, "config_id")

    @config_id.setter
    def config_id(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "config_id", value)

    @property
    @pulumi.getter
    def description(self) -> Optional[pulumi.Input[str]]:
        """
        The description of the notification config (max of 1024 characters).
        """
        return pulumi.get(self, "description")

    @description.setter
    def description(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "description", value)

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        The resource name of this notification config, in the format
        'organizations/{{organization}}/notificationConfigs/{{config_id}}'.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter
    def organization(self) -> Optional[pulumi.Input[str]]:
        """
        The organization whose Cloud Security Command Center the Notification
        Config lives in.
        """
        return pulumi.get(self, "organization")

    @organization.setter
    def organization(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "organization", value)

    @property
    @pulumi.getter(name="pubsubTopic")
    def pubsub_topic(self) -> Optional[pulumi.Input[str]]:
        """
        The Pub/Sub topic to send notifications to. Its format is
        "projects/[project_id]/topics/[topic]".
        """
        return pulumi.get(self, "pubsub_topic")

    @pubsub_topic.setter
    def pubsub_topic(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "pubsub_topic", value)

    @property
    @pulumi.getter(name="serviceAccount")
    def service_account(self) -> Optional[pulumi.Input[str]]:
        """
        The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
        """
        return pulumi.get(self, "service_account")

    @service_account.setter
    def service_account(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "service_account", value)

    @property
    @pulumi.getter(name="streamingConfig")
    def streaming_config(self) -> Optional[pulumi.Input['NotificationConfigStreamingConfigArgs']]:
        """
        The config for triggering streaming-based notifications.
        Structure is documented below.
        """
        return pulumi.get(self, "streaming_config")

    @streaming_config.setter
    def streaming_config(self, value: Optional[pulumi.Input['NotificationConfigStreamingConfigArgs']]):
        pulumi.set(self, "streaming_config", value)


class NotificationConfig(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 config_id: Optional[pulumi.Input[str]] = None,
                 description: Optional[pulumi.Input[str]] = None,
                 organization: Optional[pulumi.Input[str]] = None,
                 pubsub_topic: Optional[pulumi.Input[str]] = None,
                 streaming_config: Optional[pulumi.Input[pulumi.InputType['NotificationConfigStreamingConfigArgs']]] = None,
                 __props__=None):
        """
        A Cloud Security Command Center (Cloud SCC) notification configs. A
        notification config is a Cloud SCC resource that contains the
        configuration to send notifications for create/update events of
        findings, assets and etc.
        > **Note:** In order to use Cloud SCC resources, your organization must be enrolled
        in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
        Without doing so, you may run into errors during resource creation.

        To get more information about NotificationConfig, see:

        * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/organizations.notificationConfigs)
        * How-to Guides
            * [Official Documentation](https://cloud.google.com/security-command-center/docs)

        ## Example Usage
        ### Scc Notification Config Basic

        ```python
        import pulumi
        import pulumi_gcp as gcp

        scc_notification = gcp.pubsub.Topic("sccNotification")
        custom_notification_config = gcp.securitycenter.NotificationConfig("customNotificationConfig",
            config_id="my-config",
            organization="123456789",
            description="My custom Cloud Security Command Center Finding Notification Configuration",
            pubsub_topic=scc_notification.id,
            streaming_config=gcp.securitycenter.NotificationConfigStreamingConfigArgs(
                filter="category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
            ))
        ```

        ## Import

        NotificationConfig can be imported using any of these accepted formats

        ```sh
         $ pulumi import gcp:securitycenter/notificationConfig:NotificationConfig default organizations/{{organization}}/notificationConfigs/{{name}}
        ```

        ```sh
         $ pulumi import gcp:securitycenter/notificationConfig:NotificationConfig default {{organization}}/{{name}}
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] config_id: This must be unique within the organization.
        :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
        :param pulumi.Input[str] organization: The organization whose Cloud Security Command Center the Notification
               Config lives in.
        :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
               "projects/[project_id]/topics/[topic]".
        :param pulumi.Input[pulumi.InputType['NotificationConfigStreamingConfigArgs']] streaming_config: The config for triggering streaming-based notifications.
               Structure is documented below.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: NotificationConfigArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        A Cloud Security Command Center (Cloud SCC) notification configs. A
        notification config is a Cloud SCC resource that contains the
        configuration to send notifications for create/update events of
        findings, assets and etc.
        > **Note:** In order to use Cloud SCC resources, your organization must be enrolled
        in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
        Without doing so, you may run into errors during resource creation.

        To get more information about NotificationConfig, see:

        * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/organizations.notificationConfigs)
        * How-to Guides
            * [Official Documentation](https://cloud.google.com/security-command-center/docs)

        ## Example Usage
        ### Scc Notification Config Basic

        ```python
        import pulumi
        import pulumi_gcp as gcp

        scc_notification = gcp.pubsub.Topic("sccNotification")
        custom_notification_config = gcp.securitycenter.NotificationConfig("customNotificationConfig",
            config_id="my-config",
            organization="123456789",
            description="My custom Cloud Security Command Center Finding Notification Configuration",
            pubsub_topic=scc_notification.id,
            streaming_config=gcp.securitycenter.NotificationConfigStreamingConfigArgs(
                filter="category = \"OPEN_FIREWALL\" AND state = \"ACTIVE\"",
            ))
        ```

        ## Import

        NotificationConfig can be imported using any of these accepted formats

        ```sh
         $ pulumi import gcp:securitycenter/notificationConfig:NotificationConfig default organizations/{{organization}}/notificationConfigs/{{name}}
        ```

        ```sh
         $ pulumi import gcp:securitycenter/notificationConfig:NotificationConfig default {{organization}}/{{name}}
        ```

        :param str resource_name: The name of the resource.
        :param NotificationConfigArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(NotificationConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 config_id: Optional[pulumi.Input[str]] = None,
                 description: Optional[pulumi.Input[str]] = None,
                 organization: Optional[pulumi.Input[str]] = None,
                 pubsub_topic: Optional[pulumi.Input[str]] = None,
                 streaming_config: Optional[pulumi.Input[pulumi.InputType['NotificationConfigStreamingConfigArgs']]] = None,
                 __props__=None):
        if opts is None:
            opts = pulumi.ResourceOptions()
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.version is None:
            opts.version = _utilities.get_version()
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = NotificationConfigArgs.__new__(NotificationConfigArgs)

            if config_id is None and not opts.urn:
                raise TypeError("Missing required property 'config_id'")
            __props__.__dict__["config_id"] = config_id
            __props__.__dict__["description"] = description
            if organization is None and not opts.urn:
                raise TypeError("Missing required property 'organization'")
            __props__.__dict__["organization"] = organization
            if pubsub_topic is None and not opts.urn:
                raise TypeError("Missing required property 'pubsub_topic'")
            __props__.__dict__["pubsub_topic"] = pubsub_topic
            if streaming_config is None and not opts.urn:
                raise TypeError("Missing required property 'streaming_config'")
            __props__.__dict__["streaming_config"] = streaming_config
            __props__.__dict__["name"] = None
            __props__.__dict__["service_account"] = None
        super(NotificationConfig, __self__).__init__(
            'gcp:securitycenter/notificationConfig:NotificationConfig',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            config_id: Optional[pulumi.Input[str]] = None,
            description: Optional[pulumi.Input[str]] = None,
            name: Optional[pulumi.Input[str]] = None,
            organization: Optional[pulumi.Input[str]] = None,
            pubsub_topic: Optional[pulumi.Input[str]] = None,
            service_account: Optional[pulumi.Input[str]] = None,
            streaming_config: Optional[pulumi.Input[pulumi.InputType['NotificationConfigStreamingConfigArgs']]] = None) -> 'NotificationConfig':
        """
        Get an existing NotificationConfig resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] config_id: This must be unique within the organization.
        :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
        :param pulumi.Input[str] name: The resource name of this notification config, in the format
               'organizations/{{organization}}/notificationConfigs/{{config_id}}'.
        :param pulumi.Input[str] organization: The organization whose Cloud Security Command Center the Notification
               Config lives in.
        :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
               "projects/[project_id]/topics/[topic]".
        :param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
        :param pulumi.Input[pulumi.InputType['NotificationConfigStreamingConfigArgs']] streaming_config: The config for triggering streaming-based notifications.
               Structure is documented below.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _NotificationConfigState.__new__(_NotificationConfigState)

        __props__.__dict__["config_id"] = config_id
        __props__.__dict__["description"] = description
        __props__.__dict__["name"] = name
        __props__.__dict__["organization"] = organization
        __props__.__dict__["pubsub_topic"] = pubsub_topic
        __props__.__dict__["service_account"] = service_account
        __props__.__dict__["streaming_config"] = streaming_config
        return NotificationConfig(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="configId")
    def config_id(self) -> pulumi.Output[str]:
        """
        This must be unique within the organization.
        """
        return pulumi.get(self, "config_id")

    @property
    @pulumi.getter
    def description(self) -> pulumi.Output[Optional[str]]:
        """
        The description of the notification config (max of 1024 characters).
        """
        return pulumi.get(self, "description")

    @property
    @pulumi.getter
    def name(self) -> pulumi.Output[str]:
        """
        The resource name of this notification config, in the format
        'organizations/{{organization}}/notificationConfigs/{{config_id}}'.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def organization(self) -> pulumi.Output[str]:
        """
        The organization whose Cloud Security Command Center the Notification
        Config lives in.
        """
        return pulumi.get(self, "organization")

    @property
    @pulumi.getter(name="pubsubTopic")
    def pubsub_topic(self) -> pulumi.Output[str]:
        """
        The Pub/Sub topic to send notifications to. Its format is
        "projects/[project_id]/topics/[topic]".
        """
        return pulumi.get(self, "pubsub_topic")

    @property
    @pulumi.getter(name="serviceAccount")
    def service_account(self) -> pulumi.Output[str]:
        """
        The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic.
        """
        return pulumi.get(self, "service_account")

    @property
    @pulumi.getter(name="streamingConfig")
    def streaming_config(self) -> pulumi.Output['outputs.NotificationConfigStreamingConfig']:
        """
        The config for triggering streaming-based notifications.
        Structure is documented below.
        """
        return pulumi.get(self, "streaming_config")


[((42, 5, 42, 35), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((67, 5, 67, 38), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((80, 5, 80, 42), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((145, 5, 145, 35), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((195, 5, 195, 38), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((208, 5, 208, 41), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((220, 5, 220, 42), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((448, 5, 448, 35), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((482, 5, 482, 38), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((491, 5, 491, 41), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((499, 5, 499, 42), 'pulumi.getter', 'pulumi.getter', (), '', False, 'import pulumi\n'), ((34, 8, 34, 52), 'pulumi.set', 'pulumi.set', ({(34, 19, 34, 27): '__self__', (34, 29, 34, 40): '"""config_id"""', (34, 42, 34, 51): 'config_id'}, {}), "(__self__, 'config_id', config_id)", False, 'import pulumi\n'), ((35, 8, 35, 58), 'pulumi.set', 'pulumi.set', ({(35, 19, 35, 27): '__self__', (35, 29, 35, 43): '"""organization"""', (35, 45, 35, 57): 'organization'}, {}), "(__self__, 'organization', organization)", False, 'import pulumi\n'), ((36, 8, 36, 58), 'pulumi.set', 'pulumi.set', ({(36, 19, 36, 27): '__self__', (36, 29, 36, 43): '"""pubsub_topic"""', (36, 45, 36, 57): 'pubsub_topic'}, {}), "(__self__, 'pubsub_topic', pubsub_topic)", False, 'import pulumi\n'), ((37, 8, 37, 66), 'pulumi.set', 'pulumi.set', ({(37, 19, 37, 27): '__self__', (37, 29, 37, 47): '"""streaming_config"""', (37, 49, 37, 65): 'streaming_config'}, {}), "(__self__, 'streaming_config', streaming_config)", False, 'import pulumi\n'), ((47, 15, 47, 44), 'pulumi.get', 'pulumi.get', ({(47, 26, 47, 30): 'self', (47, 32, 47, 43): '"""config_id"""'}, {}), "(self, 'config_id')", False, 'import pulumi\n'), ((51, 8, 51, 44), 'pulumi.set', 'pulumi.set', ({(51, 19, 51, 23): 'self', (51, 25, 51, 36): '"""config_id"""', (51, 38, 51, 43): 'value'}, {}), "(self, 'config_id', value)", False, 'import pulumi\n'), ((60, 15, 60, 47), 'pulumi.get', 'pulumi.get', ({(60, 26, 60, 30): 'self', (60, 32, 60, 46): '"""organization"""'}, {}), "(self, 'organization')", False, 'import pulumi\n'), ((64, 8, 64, 47), 'pulumi.set', 'pulumi.set', ({(64, 19, 64, 23): 'self', (64, 25, 64, 39): '"""organization"""', (64, 41, 64, 46): 'value'}, {}), "(self, 'organization', value)", False, 'import pulumi\n'), ((73, 15, 73, 47), 'pulumi.get', 'pulumi.get', ({(73, 26, 73, 30): 'self', (73, 32, 73, 46): '"""pubsub_topic"""'}, {}), "(self, 'pubsub_topic')", False, 'import pulumi\n'), ((77, 8, 77, 47), 'pulumi.set', 'pulumi.set', ({(77, 19, 77, 23): 'self', (77, 25, 77, 39): '"""pubsub_topic"""', (77, 41, 77, 46): 'value'}, {}), "(self, 'pubsub_topic', value)", False, 'import pulumi\n'), ((86, 15, 86, 51), 'pulumi.get', 'pulumi.get', ({(86, 26, 86, 30): 'self', (86, 32, 86, 50): '"""streaming_config"""'}, {}), "(self, 'streaming_config')", False, 'import pulumi\n'), ((90, 8, 90, 51), 'pulumi.set', 'pulumi.set', ({(90, 19, 90, 23): 'self', (90, 25, 90, 43): '"""streaming_config"""', (90, 45, 90, 50): 'value'}, {}), "(self, 'streaming_config', value)", False, 'import pulumi\n'), ((98, 15, 98, 46), 'pulumi.get', 'pulumi.get', ({(98, 26, 98, 30): 'self', (98, 32, 98, 45): '"""description"""'}, {}), "(self, 'description')", False, 'import pulumi\n'), ((102, 8, 102, 46), 'pulumi.set', 'pulumi.set', ({(102, 19, 102, 23): 'self', (102, 25, 102, 38): '"""description"""', (102, 40, 102, 45): 'value'}, {}), "(self, 'description', value)", False, 'import pulumi\n'), ((150, 15, 150, 44), 'pulumi.get', 'pulumi.get', ({(150, 26, 150, 30): 'self', (150, 32, 150, 43): '"""config_id"""'}, {}), "(self, 'config_id')", False, 'import pulumi\n'), ((154, 8, 154, 44), 'pulumi.set', 'pulumi.set', ({(154, 19, 154, 23): 'self', (154, 25, 154, 36): '"""config_id"""', (154, 38, 154, 43): 'value'}, {}), "(self, 'config_id', value)", False, 'import pulumi\n'), ((162, 15, 162, 46), 'pulumi.get', 'pulumi.get', ({(162, 26, 162, 30): 'self', (162, 32, 162, 45): '"""description"""'}, {}), "(self, 'description')", False, 'import pulumi\n'), ((166, 8, 166, 46), 'pulumi.set', 'pulumi.set', ({(166, 19, 166, 23): 'self', (166, 25, 166, 38): '"""description"""', (166, 40, 166, 45): 'value'}, {}), "(self, 'description', value)", False, 'import pulumi\n'), ((175, 15, 175, 39), 'pulumi.get', 'pulumi.get', ({(175, 26, 175, 30): 'self', (175, 32, 175, 38): '"""name"""'}, {}), "(self, 'name')", False, 'import pulumi\n'), ((179, 8, 179, 39), 'pulumi.set', 'pulumi.set', ({(179, 19, 179, 23): 'self', (179, 25, 179, 31): '"""name"""', (179, 33, 179, 38): 'value'}, {}), "(self, 'name', value)", False, 'import pulumi\n'), ((188, 15, 188, 47), 'pulumi.get', 'pulumi.get', ({(188, 26, 188, 30): 'self', (188, 32, 188, 46): '"""organization"""'}, {}), "(self, 'organization')", False, 'import pulumi\n'), ((192, 8, 192, 47), 'pulumi.set', 'pulumi.set', ({(192, 19, 192, 23): 'self', (192, 25, 192, 39): '"""organization"""', (192, 41, 192, 46): 'value'}, {}), "(self, 'organization', value)", False, 'import pulumi\n'), ((201, 15, 201, 47), 'pulumi.get', 'pulumi.get', ({(201, 26, 201, 30): 'self', (201, 32, 201, 46): '"""pubsub_topic"""'}, {}), "(self, 'pubsub_topic')", False, 'import pulumi\n'), ((205, 8, 205, 47), 'pulumi.set', 'pulumi.set', ({(205, 19, 205, 23): 'self', (205, 25, 205, 39): '"""pubsub_topic"""', (205, 41, 205, 46): 'value'}, {}), "(self, 'pubsub_topic', value)", False, 'import pulumi\n'), ((213, 15, 213, 50), 'pulumi.get', 'pulumi.get', ({(213, 26, 213, 30): 'self', (213, 32, 213, 49): '"""service_account"""'}, {}), "(self, 'service_account')", False, 'import pulumi\n'), ((217, 8, 217, 50), 'pulumi.set', 'pulumi.set', ({(217, 19, 217, 23): 'self', (217, 25, 217, 42): '"""service_account"""', (217, 44, 217, 49): 'value'}, {}), "(self, 'service_account', value)", False, 'import pulumi\n'), ((226, 15, 226, 51), 'pulumi.get', 'pulumi.get', ({(226, 26, 226, 30): 'self', (226, 32, 226, 50): '"""streaming_config"""'}, {}), "(self, 'streaming_config')", False, 'import pulumi\n'), ((230, 8, 230, 51), 'pulumi.set', 'pulumi.set', ({(230, 19, 230, 23): 'self', (230, 25, 230, 43): '"""streaming_config"""', (230, 45, 230, 50): 'value'}, {}), "(self, 'streaming_config', value)", False, 'import pulumi\n'), ((453, 15, 453, 44), 'pulumi.get', 'pulumi.get', ({(453, 26, 453, 30): 'self', (453, 32, 453, 43): '"""config_id"""'}, {}), "(self, 'config_id')", False, 'import pulumi\n'), ((461, 15, 461, 46), 'pulumi.get', 'pulumi.get', ({(461, 26, 461, 30): 'self', (461, 32, 461, 45): '"""description"""'}, {}), "(self, 'description')", False, 'import pulumi\n'), ((470, 15, 470, 39), 'pulumi.get', 'pulumi.get', ({(470, 26, 470, 30): 'self', (470, 32, 470, 38): '"""name"""'}, {}), "(self, 'name')", False, 'import pulumi\n'), ((479, 15, 479, 47), 'pulumi.get', 'pulumi.get', ({(479, 26, 479, 30): 'self', (479, 32, 479, 46): '"""organization"""'}, {}), "(self, 'organization')", False, 'import pulumi\n'), ((488, 15, 488, 47), 'pulumi.get', 'pulumi.get', ({(488, 26, 488, 30): 'self', (488, 32, 488, 46): '"""pubsub_topic"""'}, {}), "(self, 'pubsub_topic')", False, 'import pulumi\n'), ((496, 15, 496, 50), 'pulumi.get', 'pulumi.get', ({(496, 26, 496, 30): 'self', (496, 32, 496, 49): '"""service_account"""'}, {}), "(self, 'service_account')", False, 'import pulumi\n'), ((505, 15, 505, 51), 'pulumi.get', 'pulumi.get', ({(505, 26, 505, 30): 'self', (505, 32, 505, 50): '"""streaming_config"""'}, {}), "(self, 'streaming_config')", False, 'import pulumi\n'), ((39, 12, 39, 60), 'pulumi.set', 'pulumi.set', ({(39, 23, 39, 31): '__self__', (39, 33, 39, 46): '"""description"""', (39, 48, 39, 59): 'description'}, {}), "(__self__, 'description', description)", False, 'import pulumi\n'), ((130, 12, 130, 56), 'pulumi.set', 'pulumi.set', ({(130, 23, 130, 31): '__self__', (130, 33, 130, 44): '"""config_id"""', (130, 46, 130, 55): 'config_id'}, {}), "(__self__, 'config_id', config_id)", False, 'import pulumi\n'), ((132, 12, 132, 60), 'pulumi.set', 'pulumi.set', ({(132, 23, 132, 31): '__self__', (132, 33, 132, 46): '"""description"""', (132, 48, 132, 59): 'description'}, {}), "(__self__, 'description', description)", False, 'import pulumi\n'), ((134, 12, 134, 46), 'pulumi.set', 'pulumi.set', ({(134, 23, 134, 31): '__self__', (134, 33, 134, 39): '"""name"""', (134, 41, 134, 45): 'name'}, {}), "(__self__, 'name', name)", False, 'import pulumi\n'), ((136, 12, 136, 62), 'pulumi.set', 'pulumi.set', ({(136, 23, 136, 31): '__self__', (136, 33, 136, 47): '"""organization"""', (136, 49, 136, 61): 'organization'}, {}), "(__self__, 'organization', organization)", False, 'import pulumi\n'), ((138, 12, 138, 62), 'pulumi.set', 'pulumi.set', ({(138, 23, 138, 31): '__self__', (138, 33, 138, 47): '"""pubsub_topic"""', (138, 49, 138, 61): 'pubsub_topic'}, {}), "(__self__, 'pubsub_topic', pubsub_topic)", False, 'import pulumi\n'), ((140, 12, 140, 68), 'pulumi.set', 'pulumi.set', ({(140, 23, 140, 31): '__self__', (140, 33, 140, 50): '"""service_account"""', (140, 52, 140, 67): 'service_account'}, {}), "(__self__, 'service_account', service_account)", False, 'import pulumi\n'), ((142, 12, 142, 70), 'pulumi.set', 'pulumi.set', ({(142, 23, 142, 31): '__self__', (142, 33, 142, 51): '"""streaming_config"""', (142, 53, 142, 69): 'streaming_config'}, {}), "(__self__, 'streaming_config', streaming_config)", False, 'import pulumi\n'), ((373, 19, 373, 43), 'pulumi.ResourceOptions', 'pulumi.ResourceOptions', ({}, {}), '()', False, 'import pulumi\n'), ((434, 50, 434, 79), 'pulumi.ResourceOptions', 'pulumi.ResourceOptions', (), '', False, 'import pulumi\n')]