Insights Report Config Args
data class InsightsReportConfigArgs(val csvOptions: Output<InsightsReportConfigCsvOptionsArgs>? = null, val displayName: Output<String>? = null, val frequencyOptions: Output<InsightsReportConfigFrequencyOptionsArgs>? = null, val location: Output<String>? = null, val objectMetadataReportOptions: Output<InsightsReportConfigObjectMetadataReportOptionsArgs>? = null, val project: Output<String>? = null) : ConvertibleToJava<InsightsReportConfigArgs>
Represents an inventory report configuration. To get more information about ReportConfig, see:
How-to Guides
Example Usage
Storage Insights Report Config
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.InsightsReportConfig;
import com.pulumi.gcp.storage.InsightsReportConfigArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigFrequencyOptionsArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigFrequencyOptionsStartDateArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigFrequencyOptionsEndDateArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigCsvOptionsArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigObjectMetadataReportOptionsArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs;
import com.pulumi.gcp.storage.inputs.InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs;
import com.pulumi.gcp.storage.BucketIAMMember;
import com.pulumi.gcp.storage.BucketIAMMemberArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var project = OrganizationsFunctions.getProject();
var reportBucket = new Bucket("reportBucket", BucketArgs.builder()
.location("us-central1")
.forceDestroy(true)
.uniformBucketLevelAccess(true)
.build());
var config = new InsightsReportConfig("config", InsightsReportConfigArgs.builder()
.displayName("Test Report Config")
.location("us-central1")
.frequencyOptions(InsightsReportConfigFrequencyOptionsArgs.builder()
.frequency("WEEKLY")
.startDate(InsightsReportConfigFrequencyOptionsStartDateArgs.builder()
.day(15)
.month(3)
.year(2050)
.build())
.endDate(InsightsReportConfigFrequencyOptionsEndDateArgs.builder()
.day(15)
.month(4)
.year(2050)
.build())
.build())
.csvOptions(InsightsReportConfigCsvOptionsArgs.builder()
.recordSeparator("""
""")
.delimiter(",")
.headerRequired(false)
.build())
.objectMetadataReportOptions(InsightsReportConfigObjectMetadataReportOptionsArgs.builder()
.metadataFields(
"bucket",
"name",
"project")
.storageFilters(InsightsReportConfigObjectMetadataReportOptionsStorageFiltersArgs.builder()
.bucket(reportBucket.name())
.build())
.storageDestinationOptions(InsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsArgs.builder()
.bucket(reportBucket.name())
.destinationPath("test-insights-reports")
.build())
.build())
.build());
var admin = new BucketIAMMember("admin", BucketIAMMemberArgs.builder()
.bucket(reportBucket.name())
.role("roles/storage.admin")
.member(String.format("serviceAccount:service-%s@gcp-sa-storageinsights.iam.gserviceaccount.com", project.applyValue(getProjectResult -> getProjectResult.number())))
.build());
}
}
Content copied to clipboard
Import
ReportConfig can be imported using any of these accepted formats
$ pulumi import gcp:storage/insightsReportConfig:InsightsReportConfig default projects/{{project}}/locations/{{location}}/reportConfigs/{{name}}
Content copied to clipboard
$ pulumi import gcp:storage/insightsReportConfig:InsightsReportConfig default {{project}}/{{location}}/{{name}}
Content copied to clipboard
$ pulumi import gcp:storage/insightsReportConfig:InsightsReportConfig default {{location}}/{{name}}
Content copied to clipboard
Constructors
Link copied to clipboard
fun InsightsReportConfigArgs(csvOptions: Output<InsightsReportConfigCsvOptionsArgs>? = null, displayName: Output<String>? = null, frequencyOptions: Output<InsightsReportConfigFrequencyOptionsArgs>? = null, location: Output<String>? = null, objectMetadataReportOptions: Output<InsightsReportConfigObjectMetadataReportOptionsArgs>? = null, project: Output<String>? = null)
Functions
Properties
Link copied to clipboard
val objectMetadataReportOptions: Output<InsightsReportConfigObjectMetadataReportOptionsArgs>? = null