Topic constructor
Creates a new Topic.
name The Pulumi resource name.
args Arguments used to configure this Topic. The set of arguments for Topic.
options Resource options controlling this resource's behavior.
Implementation
Topic(
String name, {
TopicArgs? args,
pulumi.CustomResourceOptions? options,
}) : super(
'gcp:pubsub/topic:Topic',
name,
pulumi.Input.mapToInputs(args?.toMap() ?? const {}),
pulumi.CustomResourceOptions(version: '9.36.1').merge(options),
additionalSecretOutputs: const ['effectiveLabels', 'pulumiLabels'],
) {
deletionPolicy = registerOutput<String>('deletionPolicy');
effectiveLabels = registerOutput<Map<String, String>>('effectiveLabels', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return (guardedValue as Map).cast<String, String>(); }, isSecret: true);
ingestionDataSourceSettings = registerOutput<TopicIngestionDataSourceSettings?>('ingestionDataSourceSettings', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return TopicIngestionDataSourceSettings.fromMap((guardedValue as Map).cast<String, dynamic>()); });
kmsKeyName = registerOutput<String?>('kmsKeyName');
labels = registerOutput<Map<String, String>?>('labels', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return (guardedValue as Map).cast<String, String>(); });
messageRetentionDuration = registerOutput<String?>('messageRetentionDuration');
messageStoragePolicy = registerOutput<TopicMessageStoragePolicy>('messageStoragePolicy', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return TopicMessageStoragePolicy.fromMap((guardedValue as Map).cast<String, dynamic>()); });
messageTransforms = registerOutput<List<TopicMessageTransform>?>('messageTransforms', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return pulumi.Input.decodeList<TopicMessageTransform>(guardedValue, (value) => TopicMessageTransform.fromMap((value as Map).cast<String, dynamic>())); });
this.name = registerOutput<String>('name');
project = registerOutput<String>('project');
pulumiLabels = registerOutput<Map<String, String>>('pulumiLabels', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return (guardedValue as Map).cast<String, String>(); }, isSecret: true);
schemaSettings = registerOutput<TopicSchemaSettings?>('schemaSettings', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return TopicSchemaSettings.fromMap((guardedValue as Map).cast<String, dynamic>()); });
tags = registerOutput<Map<String, String>?>('tags', decoder: (raw) { final guardedValue = raw; if (guardedValue == null) return null; return (guardedValue as Map).cast<String, String>(); });
}