def __init__(__self__, resource_name, opts=None, bucket=None, filter=None, name=None, storage_class_analysis=None, __props__=None, __name__=None, __opts__=None):
    '\n        Provides a S3 bucket [analytics configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) resource.\n\n        ## Example Usage\n        ### Add analytics configuration for entire S3 bucket and export results to a second S3 bucket\n\n        ```python\n        import pulumi\n        import pulumi_aws as aws\n\n        example = aws.s3.Bucket("example")\n        analytics = aws.s3.Bucket("analytics")\n        example_entire_bucket = aws.s3.AnalyticsConfiguration("example-entire-bucket",\n            bucket=example.bucket,\n            storage_class_analysis={\n                "dataExport": {\n                    "destination": {\n                        "s3BucketDestination": {\n                            "bucketArn": analytics.arn,\n                        },\n                    },\n                },\n            })\n        ```\n        ### Add analytics configuration with S3 bucket object filter\n\n        ```python\n        import pulumi\n        import pulumi_aws as aws\n\n        example = aws.s3.Bucket("example")\n        example_filtered = aws.s3.AnalyticsConfiguration("example-filtered",\n            bucket=example.bucket,\n            filter={\n                "prefix": "documents/",\n                "tags": {\n                    "priority": "high",\n                    "class": "blue",\n                },\n            })\n        ```\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[str] bucket: The name of the bucket this analytics configuration is associated with.\n        :param pulumi.Input[dict] filter: Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).\n        :param pulumi.Input[str] name: Unique identifier of the analytics configuration for the bucket.\n        :param pulumi.Input[dict] storage_class_analysis: Configuration for the analytics data export (documented below).\n\n        The **filter** object supports the following:\n\n          * `prefix` (`pulumi.Input[str]`) - Object prefix for filtering.\n          * `tags` (`pulumi.Input[dict]`) - Set of object tags for filtering.\n\n        The **storage_class_analysis** object supports the following:\n\n          * `dataExport` (`pulumi.Input[dict]`) - Data export configuration (documented below).\n            * `destination` (`pulumi.Input[dict]`) - Specifies the destination for the exported analytics data (documented below).\n              * `s3BucketDestination` (`pulumi.Input[dict]`) - Analytics data export currently only supports an S3 bucket destination (documented below).\n                * `bucketAccountId` (`pulumi.Input[str]`) - The account ID that owns the destination bucket.\n                * `bucketArn` (`pulumi.Input[str]`) - The ARN of the destination bucket.\n                * `format` (`pulumi.Input[str]`) - The output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.\n                * `prefix` (`pulumi.Input[str]`) - Object prefix for filtering.\n\n            * `outputSchemaVersion` (`pulumi.Input[str]`) - The schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.\n        '
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    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__ = dict()
        if (bucket is None):
            raise TypeError("Missing required property 'bucket'")
        __props__['bucket'] = bucket
        __props__['filter'] = filter
        __props__['name'] = name
        __props__['storage_class_analysis'] = storage_class_analysis
    super(AnalyticsConfiguration, __self__).__init__('aws:s3/analyticsConfiguration:AnalyticsConfiguration', resource_name, __props__, opts)
Provides a S3 bucket [analytics configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) resource.

## Example Usage
### Add analytics configuration for entire S3 bucket and export results to a second S3 bucket

```python
import pulumi
import pulumi_aws as aws

example = aws.s3.Bucket("example")
analytics = aws.s3.Bucket("analytics")
example_entire_bucket = aws.s3.AnalyticsConfiguration("example-entire-bucket",
    bucket=example.bucket,
    storage_class_analysis={
        "dataExport": {
            "destination": {
                "s3BucketDestination": {
                    "bucketArn": analytics.arn,
                },
            },
        },
    })
```
### Add analytics configuration with S3 bucket object filter

```python
import pulumi
import pulumi_aws as aws

example = aws.s3.Bucket("example")
example_filtered = aws.s3.AnalyticsConfiguration("example-filtered",
    bucket=example.bucket,
    filter={
        "prefix": "documents/",
        "tags": {
            "priority": "high",
            "class": "blue",
        },
    })
```

:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] bucket: The name of the bucket this analytics configuration is associated with.
:param pulumi.Input[dict] filter: Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).
:param pulumi.Input[str] name: Unique identifier of the analytics configuration for the bucket.
:param pulumi.Input[dict] storage_class_analysis: Configuration for the analytics data export (documented below).

The **filter** object supports the following:

  * `prefix` (`pulumi.Input[str]`) - Object prefix for filtering.
  * `tags` (`pulumi.Input[dict]`) - Set of object tags for filtering.

The **storage_class_analysis** object supports the following:

  * `dataExport` (`pulumi.Input[dict]`) - Data export configuration (documented below).
    * `destination` (`pulumi.Input[dict]`) - Specifies the destination for the exported analytics data (documented below).
      * `s3BucketDestination` (`pulumi.Input[dict]`) - Analytics data export currently only supports an S3 bucket destination (documented below).
        * `bucketAccountId` (`pulumi.Input[str]`) - The account ID that owns the destination bucket.
        * `bucketArn` (`pulumi.Input[str]`) - The ARN of the destination bucket.
        * `format` (`pulumi.Input[str]`) - The output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.
        * `prefix` (`pulumi.Input[str]`) - Object prefix for filtering.

    * `outputSchemaVersion` (`pulumi.Input[str]`) - The schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.
def __init__(__self__, resource_name, opts=None, bucket=None, filter=None, name=None, storage_class_analysis=None, __props__=None, __name__=None, __opts__=None):
    '\n        Provides a S3 bucket [analytics configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) resource.\n\n        ## Example Usage\n        ### Add analytics configuration for entire S3 bucket and export results to a second S3 bucket\n\n        ```python\n        import pulumi\n        import pulumi_aws as aws\n\n        example = aws.s3.Bucket("example")\n        analytics = aws.s3.Bucket("analytics")\n        example_entire_bucket = aws.s3.AnalyticsConfiguration("example-entire-bucket",\n            bucket=example.bucket,\n            storage_class_analysis={\n                "dataExport": {\n                    "destination": {\n                        "s3BucketDestination": {\n                            "bucketArn": analytics.arn,\n                        },\n                    },\n                },\n            })\n        ```\n        ### Add analytics configuration with S3 bucket object filter\n\n        ```python\n        import pulumi\n        import pulumi_aws as aws\n\n        example = aws.s3.Bucket("example")\n        example_filtered = aws.s3.AnalyticsConfiguration("example-filtered",\n            bucket=example.bucket,\n            filter={\n                "prefix": "documents/",\n                "tags": {\n                    "priority": "high",\n                    "class": "blue",\n                },\n            })\n        ```\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[str] bucket: The name of the bucket this analytics configuration is associated with.\n        :param pulumi.Input[dict] filter: Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).\n        :param pulumi.Input[str] name: Unique identifier of the analytics configuration for the bucket.\n        :param pulumi.Input[dict] storage_class_analysis: Configuration for the analytics data export (documented below).\n\n        The **filter** object supports the following:\n\n          * `prefix` (`pulumi.Input[str]`) - Object prefix for filtering.\n          * `tags` (`pulumi.Input[dict]`) - Set of object tags for filtering.\n\n        The **storage_class_analysis** object supports the following:\n\n          * `dataExport` (`pulumi.Input[dict]`) - Data export configuration (documented below).\n            * `destination` (`pulumi.Input[dict]`) - Specifies the destination for the exported analytics data (documented below).\n              * `s3BucketDestination` (`pulumi.Input[dict]`) - Analytics data export currently only supports an S3 bucket destination (documented below).\n                * `bucketAccountId` (`pulumi.Input[str]`) - The account ID that owns the destination bucket.\n                * `bucketArn` (`pulumi.Input[str]`) - The ARN of the destination bucket.\n                * `format` (`pulumi.Input[str]`) - The output format of exported analytics data. Allowed values: `CSV`. Default value: `CSV`.\n                * `prefix` (`pulumi.Input[str]`) - Object prefix for filtering.\n\n            * `outputSchemaVersion` (`pulumi.Input[str]`) - The schema version of exported analytics data. Allowed values: `V_1`. Default value: `V_1`.\n        '
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    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__ = dict()
        if (bucket is None):
            raise TypeError("Missing required property 'bucket'")
        __props__['bucket'] = bucket
        __props__['filter'] = filter
        __props__['name'] = name
        __props__['storage_class_analysis'] = storage_class_analysis
    super(AnalyticsConfiguration, __self__).__init__('aws:s3/analyticsConfiguration:AnalyticsConfiguration', resource_name, __props__, opts)