github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcNetworkPerformanceMetricSubscription.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package ec2 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a resource to manage an Infrastructure Performance subscription. 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := ec2.NewVpcNetworkPerformanceMetricSubscription(ctx, "example", &ec2.VpcNetworkPerformanceMetricSubscriptionArgs{ 33 // Source: pulumi.String("us-east-1"), 34 // Destination: pulumi.String("us-west-1"), 35 // }) 36 // if err != nil { 37 // return err 38 // } 39 // return nil 40 // }) 41 // } 42 // 43 // ``` 44 // <!--End PulumiCodeChooser --> 45 type VpcNetworkPerformanceMetricSubscription struct { 46 pulumi.CustomResourceState 47 48 // The target Region or Availability Zone that the metric subscription is enabled for. For example, `eu-west-1`. 49 Destination pulumi.StringOutput `pulumi:"destination"` 50 // The metric used for the enabled subscription. Valid values: `aggregate-latency`. Default: `aggregate-latency`. 51 Metric pulumi.StringPtrOutput `pulumi:"metric"` 52 // The data aggregation time for the subscription. 53 Period pulumi.StringOutput `pulumi:"period"` 54 // The source Region or Availability Zone that the metric subscription is enabled for. For example, `us-east-1`. 55 Source pulumi.StringOutput `pulumi:"source"` 56 // The statistic used for the enabled subscription. Valid values: `p50`. Default: `p50`. 57 Statistic pulumi.StringPtrOutput `pulumi:"statistic"` 58 } 59 60 // NewVpcNetworkPerformanceMetricSubscription registers a new resource with the given unique name, arguments, and options. 61 func NewVpcNetworkPerformanceMetricSubscription(ctx *pulumi.Context, 62 name string, args *VpcNetworkPerformanceMetricSubscriptionArgs, opts ...pulumi.ResourceOption) (*VpcNetworkPerformanceMetricSubscription, error) { 63 if args == nil { 64 return nil, errors.New("missing one or more required arguments") 65 } 66 67 if args.Destination == nil { 68 return nil, errors.New("invalid value for required argument 'Destination'") 69 } 70 if args.Source == nil { 71 return nil, errors.New("invalid value for required argument 'Source'") 72 } 73 opts = internal.PkgResourceDefaultOpts(opts) 74 var resource VpcNetworkPerformanceMetricSubscription 75 err := ctx.RegisterResource("aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription", name, args, &resource, opts...) 76 if err != nil { 77 return nil, err 78 } 79 return &resource, nil 80 } 81 82 // GetVpcNetworkPerformanceMetricSubscription gets an existing VpcNetworkPerformanceMetricSubscription resource's state with the given name, ID, and optional 83 // state properties that are used to uniquely qualify the lookup (nil if not required). 84 func GetVpcNetworkPerformanceMetricSubscription(ctx *pulumi.Context, 85 name string, id pulumi.IDInput, state *VpcNetworkPerformanceMetricSubscriptionState, opts ...pulumi.ResourceOption) (*VpcNetworkPerformanceMetricSubscription, error) { 86 var resource VpcNetworkPerformanceMetricSubscription 87 err := ctx.ReadResource("aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription", name, id, state, &resource, opts...) 88 if err != nil { 89 return nil, err 90 } 91 return &resource, nil 92 } 93 94 // Input properties used for looking up and filtering VpcNetworkPerformanceMetricSubscription resources. 95 type vpcNetworkPerformanceMetricSubscriptionState struct { 96 // The target Region or Availability Zone that the metric subscription is enabled for. For example, `eu-west-1`. 97 Destination *string `pulumi:"destination"` 98 // The metric used for the enabled subscription. Valid values: `aggregate-latency`. Default: `aggregate-latency`. 99 Metric *string `pulumi:"metric"` 100 // The data aggregation time for the subscription. 101 Period *string `pulumi:"period"` 102 // The source Region or Availability Zone that the metric subscription is enabled for. For example, `us-east-1`. 103 Source *string `pulumi:"source"` 104 // The statistic used for the enabled subscription. Valid values: `p50`. Default: `p50`. 105 Statistic *string `pulumi:"statistic"` 106 } 107 108 type VpcNetworkPerformanceMetricSubscriptionState struct { 109 // The target Region or Availability Zone that the metric subscription is enabled for. For example, `eu-west-1`. 110 Destination pulumi.StringPtrInput 111 // The metric used for the enabled subscription. Valid values: `aggregate-latency`. Default: `aggregate-latency`. 112 Metric pulumi.StringPtrInput 113 // The data aggregation time for the subscription. 114 Period pulumi.StringPtrInput 115 // The source Region or Availability Zone that the metric subscription is enabled for. For example, `us-east-1`. 116 Source pulumi.StringPtrInput 117 // The statistic used for the enabled subscription. Valid values: `p50`. Default: `p50`. 118 Statistic pulumi.StringPtrInput 119 } 120 121 func (VpcNetworkPerformanceMetricSubscriptionState) ElementType() reflect.Type { 122 return reflect.TypeOf((*vpcNetworkPerformanceMetricSubscriptionState)(nil)).Elem() 123 } 124 125 type vpcNetworkPerformanceMetricSubscriptionArgs struct { 126 // The target Region or Availability Zone that the metric subscription is enabled for. For example, `eu-west-1`. 127 Destination string `pulumi:"destination"` 128 // The metric used for the enabled subscription. Valid values: `aggregate-latency`. Default: `aggregate-latency`. 129 Metric *string `pulumi:"metric"` 130 // The source Region or Availability Zone that the metric subscription is enabled for. For example, `us-east-1`. 131 Source string `pulumi:"source"` 132 // The statistic used for the enabled subscription. Valid values: `p50`. Default: `p50`. 133 Statistic *string `pulumi:"statistic"` 134 } 135 136 // The set of arguments for constructing a VpcNetworkPerformanceMetricSubscription resource. 137 type VpcNetworkPerformanceMetricSubscriptionArgs struct { 138 // The target Region or Availability Zone that the metric subscription is enabled for. For example, `eu-west-1`. 139 Destination pulumi.StringInput 140 // The metric used for the enabled subscription. Valid values: `aggregate-latency`. Default: `aggregate-latency`. 141 Metric pulumi.StringPtrInput 142 // The source Region or Availability Zone that the metric subscription is enabled for. For example, `us-east-1`. 143 Source pulumi.StringInput 144 // The statistic used for the enabled subscription. Valid values: `p50`. Default: `p50`. 145 Statistic pulumi.StringPtrInput 146 } 147 148 func (VpcNetworkPerformanceMetricSubscriptionArgs) ElementType() reflect.Type { 149 return reflect.TypeOf((*vpcNetworkPerformanceMetricSubscriptionArgs)(nil)).Elem() 150 } 151 152 type VpcNetworkPerformanceMetricSubscriptionInput interface { 153 pulumi.Input 154 155 ToVpcNetworkPerformanceMetricSubscriptionOutput() VpcNetworkPerformanceMetricSubscriptionOutput 156 ToVpcNetworkPerformanceMetricSubscriptionOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionOutput 157 } 158 159 func (*VpcNetworkPerformanceMetricSubscription) ElementType() reflect.Type { 160 return reflect.TypeOf((**VpcNetworkPerformanceMetricSubscription)(nil)).Elem() 161 } 162 163 func (i *VpcNetworkPerformanceMetricSubscription) ToVpcNetworkPerformanceMetricSubscriptionOutput() VpcNetworkPerformanceMetricSubscriptionOutput { 164 return i.ToVpcNetworkPerformanceMetricSubscriptionOutputWithContext(context.Background()) 165 } 166 167 func (i *VpcNetworkPerformanceMetricSubscription) ToVpcNetworkPerformanceMetricSubscriptionOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionOutput { 168 return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkPerformanceMetricSubscriptionOutput) 169 } 170 171 // VpcNetworkPerformanceMetricSubscriptionArrayInput is an input type that accepts VpcNetworkPerformanceMetricSubscriptionArray and VpcNetworkPerformanceMetricSubscriptionArrayOutput values. 172 // You can construct a concrete instance of `VpcNetworkPerformanceMetricSubscriptionArrayInput` via: 173 // 174 // VpcNetworkPerformanceMetricSubscriptionArray{ VpcNetworkPerformanceMetricSubscriptionArgs{...} } 175 type VpcNetworkPerformanceMetricSubscriptionArrayInput interface { 176 pulumi.Input 177 178 ToVpcNetworkPerformanceMetricSubscriptionArrayOutput() VpcNetworkPerformanceMetricSubscriptionArrayOutput 179 ToVpcNetworkPerformanceMetricSubscriptionArrayOutputWithContext(context.Context) VpcNetworkPerformanceMetricSubscriptionArrayOutput 180 } 181 182 type VpcNetworkPerformanceMetricSubscriptionArray []VpcNetworkPerformanceMetricSubscriptionInput 183 184 func (VpcNetworkPerformanceMetricSubscriptionArray) ElementType() reflect.Type { 185 return reflect.TypeOf((*[]*VpcNetworkPerformanceMetricSubscription)(nil)).Elem() 186 } 187 188 func (i VpcNetworkPerformanceMetricSubscriptionArray) ToVpcNetworkPerformanceMetricSubscriptionArrayOutput() VpcNetworkPerformanceMetricSubscriptionArrayOutput { 189 return i.ToVpcNetworkPerformanceMetricSubscriptionArrayOutputWithContext(context.Background()) 190 } 191 192 func (i VpcNetworkPerformanceMetricSubscriptionArray) ToVpcNetworkPerformanceMetricSubscriptionArrayOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionArrayOutput { 193 return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkPerformanceMetricSubscriptionArrayOutput) 194 } 195 196 // VpcNetworkPerformanceMetricSubscriptionMapInput is an input type that accepts VpcNetworkPerformanceMetricSubscriptionMap and VpcNetworkPerformanceMetricSubscriptionMapOutput values. 197 // You can construct a concrete instance of `VpcNetworkPerformanceMetricSubscriptionMapInput` via: 198 // 199 // VpcNetworkPerformanceMetricSubscriptionMap{ "key": VpcNetworkPerformanceMetricSubscriptionArgs{...} } 200 type VpcNetworkPerformanceMetricSubscriptionMapInput interface { 201 pulumi.Input 202 203 ToVpcNetworkPerformanceMetricSubscriptionMapOutput() VpcNetworkPerformanceMetricSubscriptionMapOutput 204 ToVpcNetworkPerformanceMetricSubscriptionMapOutputWithContext(context.Context) VpcNetworkPerformanceMetricSubscriptionMapOutput 205 } 206 207 type VpcNetworkPerformanceMetricSubscriptionMap map[string]VpcNetworkPerformanceMetricSubscriptionInput 208 209 func (VpcNetworkPerformanceMetricSubscriptionMap) ElementType() reflect.Type { 210 return reflect.TypeOf((*map[string]*VpcNetworkPerformanceMetricSubscription)(nil)).Elem() 211 } 212 213 func (i VpcNetworkPerformanceMetricSubscriptionMap) ToVpcNetworkPerformanceMetricSubscriptionMapOutput() VpcNetworkPerformanceMetricSubscriptionMapOutput { 214 return i.ToVpcNetworkPerformanceMetricSubscriptionMapOutputWithContext(context.Background()) 215 } 216 217 func (i VpcNetworkPerformanceMetricSubscriptionMap) ToVpcNetworkPerformanceMetricSubscriptionMapOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionMapOutput { 218 return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkPerformanceMetricSubscriptionMapOutput) 219 } 220 221 type VpcNetworkPerformanceMetricSubscriptionOutput struct{ *pulumi.OutputState } 222 223 func (VpcNetworkPerformanceMetricSubscriptionOutput) ElementType() reflect.Type { 224 return reflect.TypeOf((**VpcNetworkPerformanceMetricSubscription)(nil)).Elem() 225 } 226 227 func (o VpcNetworkPerformanceMetricSubscriptionOutput) ToVpcNetworkPerformanceMetricSubscriptionOutput() VpcNetworkPerformanceMetricSubscriptionOutput { 228 return o 229 } 230 231 func (o VpcNetworkPerformanceMetricSubscriptionOutput) ToVpcNetworkPerformanceMetricSubscriptionOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionOutput { 232 return o 233 } 234 235 // The target Region or Availability Zone that the metric subscription is enabled for. For example, `eu-west-1`. 236 func (o VpcNetworkPerformanceMetricSubscriptionOutput) Destination() pulumi.StringOutput { 237 return o.ApplyT(func(v *VpcNetworkPerformanceMetricSubscription) pulumi.StringOutput { return v.Destination }).(pulumi.StringOutput) 238 } 239 240 // The metric used for the enabled subscription. Valid values: `aggregate-latency`. Default: `aggregate-latency`. 241 func (o VpcNetworkPerformanceMetricSubscriptionOutput) Metric() pulumi.StringPtrOutput { 242 return o.ApplyT(func(v *VpcNetworkPerformanceMetricSubscription) pulumi.StringPtrOutput { return v.Metric }).(pulumi.StringPtrOutput) 243 } 244 245 // The data aggregation time for the subscription. 246 func (o VpcNetworkPerformanceMetricSubscriptionOutput) Period() pulumi.StringOutput { 247 return o.ApplyT(func(v *VpcNetworkPerformanceMetricSubscription) pulumi.StringOutput { return v.Period }).(pulumi.StringOutput) 248 } 249 250 // The source Region or Availability Zone that the metric subscription is enabled for. For example, `us-east-1`. 251 func (o VpcNetworkPerformanceMetricSubscriptionOutput) Source() pulumi.StringOutput { 252 return o.ApplyT(func(v *VpcNetworkPerformanceMetricSubscription) pulumi.StringOutput { return v.Source }).(pulumi.StringOutput) 253 } 254 255 // The statistic used for the enabled subscription. Valid values: `p50`. Default: `p50`. 256 func (o VpcNetworkPerformanceMetricSubscriptionOutput) Statistic() pulumi.StringPtrOutput { 257 return o.ApplyT(func(v *VpcNetworkPerformanceMetricSubscription) pulumi.StringPtrOutput { return v.Statistic }).(pulumi.StringPtrOutput) 258 } 259 260 type VpcNetworkPerformanceMetricSubscriptionArrayOutput struct{ *pulumi.OutputState } 261 262 func (VpcNetworkPerformanceMetricSubscriptionArrayOutput) ElementType() reflect.Type { 263 return reflect.TypeOf((*[]*VpcNetworkPerformanceMetricSubscription)(nil)).Elem() 264 } 265 266 func (o VpcNetworkPerformanceMetricSubscriptionArrayOutput) ToVpcNetworkPerformanceMetricSubscriptionArrayOutput() VpcNetworkPerformanceMetricSubscriptionArrayOutput { 267 return o 268 } 269 270 func (o VpcNetworkPerformanceMetricSubscriptionArrayOutput) ToVpcNetworkPerformanceMetricSubscriptionArrayOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionArrayOutput { 271 return o 272 } 273 274 func (o VpcNetworkPerformanceMetricSubscriptionArrayOutput) Index(i pulumi.IntInput) VpcNetworkPerformanceMetricSubscriptionOutput { 275 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcNetworkPerformanceMetricSubscription { 276 return vs[0].([]*VpcNetworkPerformanceMetricSubscription)[vs[1].(int)] 277 }).(VpcNetworkPerformanceMetricSubscriptionOutput) 278 } 279 280 type VpcNetworkPerformanceMetricSubscriptionMapOutput struct{ *pulumi.OutputState } 281 282 func (VpcNetworkPerformanceMetricSubscriptionMapOutput) ElementType() reflect.Type { 283 return reflect.TypeOf((*map[string]*VpcNetworkPerformanceMetricSubscription)(nil)).Elem() 284 } 285 286 func (o VpcNetworkPerformanceMetricSubscriptionMapOutput) ToVpcNetworkPerformanceMetricSubscriptionMapOutput() VpcNetworkPerformanceMetricSubscriptionMapOutput { 287 return o 288 } 289 290 func (o VpcNetworkPerformanceMetricSubscriptionMapOutput) ToVpcNetworkPerformanceMetricSubscriptionMapOutputWithContext(ctx context.Context) VpcNetworkPerformanceMetricSubscriptionMapOutput { 291 return o 292 } 293 294 func (o VpcNetworkPerformanceMetricSubscriptionMapOutput) MapIndex(k pulumi.StringInput) VpcNetworkPerformanceMetricSubscriptionOutput { 295 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcNetworkPerformanceMetricSubscription { 296 return vs[0].(map[string]*VpcNetworkPerformanceMetricSubscription)[vs[1].(string)] 297 }).(VpcNetworkPerformanceMetricSubscriptionOutput) 298 } 299 300 func init() { 301 pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkPerformanceMetricSubscriptionInput)(nil)).Elem(), &VpcNetworkPerformanceMetricSubscription{}) 302 pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkPerformanceMetricSubscriptionArrayInput)(nil)).Elem(), VpcNetworkPerformanceMetricSubscriptionArray{}) 303 pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkPerformanceMetricSubscriptionMapInput)(nil)).Elem(), VpcNetworkPerformanceMetricSubscriptionMap{}) 304 pulumi.RegisterOutputType(VpcNetworkPerformanceMetricSubscriptionOutput{}) 305 pulumi.RegisterOutputType(VpcNetworkPerformanceMetricSubscriptionArrayOutput{}) 306 pulumi.RegisterOutputType(VpcNetworkPerformanceMetricSubscriptionMapOutput{}) 307 }