github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/servicecatalog/budgetResourceAssociation.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 servicecatalog 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 // Manages a Service Catalog Budget Resource Association. 16 // 17 // > **Tip:** A "resource" is either a Service Catalog portfolio or product. 18 // 19 // ## Example Usage 20 // 21 // ### Basic Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // _, err := servicecatalog.NewBudgetResourceAssociation(ctx, "example", &servicecatalog.BudgetResourceAssociationArgs{ 37 // BudgetName: pulumi.String("budget-pjtvyakdlyo3m"), 38 // ResourceId: pulumi.String("prod-dnigbtea24ste"), 39 // }) 40 // if err != nil { 41 // return err 42 // } 43 // return nil 44 // }) 45 // } 46 // 47 // ``` 48 // <!--End PulumiCodeChooser --> 49 // 50 // ## Import 51 // 52 // Using `pulumi import`, import `aws_servicecatalog_budget_resource_association` using the budget name and resource ID. For example: 53 // 54 // ```sh 55 // $ pulumi import aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation example budget-pjtvyakdlyo3m:prod-dnigbtea24ste 56 // ``` 57 type BudgetResourceAssociation struct { 58 pulumi.CustomResourceState 59 60 // Budget name. 61 BudgetName pulumi.StringOutput `pulumi:"budgetName"` 62 // Resource identifier. 63 ResourceId pulumi.StringOutput `pulumi:"resourceId"` 64 } 65 66 // NewBudgetResourceAssociation registers a new resource with the given unique name, arguments, and options. 67 func NewBudgetResourceAssociation(ctx *pulumi.Context, 68 name string, args *BudgetResourceAssociationArgs, opts ...pulumi.ResourceOption) (*BudgetResourceAssociation, error) { 69 if args == nil { 70 return nil, errors.New("missing one or more required arguments") 71 } 72 73 if args.BudgetName == nil { 74 return nil, errors.New("invalid value for required argument 'BudgetName'") 75 } 76 if args.ResourceId == nil { 77 return nil, errors.New("invalid value for required argument 'ResourceId'") 78 } 79 opts = internal.PkgResourceDefaultOpts(opts) 80 var resource BudgetResourceAssociation 81 err := ctx.RegisterResource("aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation", name, args, &resource, opts...) 82 if err != nil { 83 return nil, err 84 } 85 return &resource, nil 86 } 87 88 // GetBudgetResourceAssociation gets an existing BudgetResourceAssociation resource's state with the given name, ID, and optional 89 // state properties that are used to uniquely qualify the lookup (nil if not required). 90 func GetBudgetResourceAssociation(ctx *pulumi.Context, 91 name string, id pulumi.IDInput, state *BudgetResourceAssociationState, opts ...pulumi.ResourceOption) (*BudgetResourceAssociation, error) { 92 var resource BudgetResourceAssociation 93 err := ctx.ReadResource("aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation", name, id, state, &resource, opts...) 94 if err != nil { 95 return nil, err 96 } 97 return &resource, nil 98 } 99 100 // Input properties used for looking up and filtering BudgetResourceAssociation resources. 101 type budgetResourceAssociationState struct { 102 // Budget name. 103 BudgetName *string `pulumi:"budgetName"` 104 // Resource identifier. 105 ResourceId *string `pulumi:"resourceId"` 106 } 107 108 type BudgetResourceAssociationState struct { 109 // Budget name. 110 BudgetName pulumi.StringPtrInput 111 // Resource identifier. 112 ResourceId pulumi.StringPtrInput 113 } 114 115 func (BudgetResourceAssociationState) ElementType() reflect.Type { 116 return reflect.TypeOf((*budgetResourceAssociationState)(nil)).Elem() 117 } 118 119 type budgetResourceAssociationArgs struct { 120 // Budget name. 121 BudgetName string `pulumi:"budgetName"` 122 // Resource identifier. 123 ResourceId string `pulumi:"resourceId"` 124 } 125 126 // The set of arguments for constructing a BudgetResourceAssociation resource. 127 type BudgetResourceAssociationArgs struct { 128 // Budget name. 129 BudgetName pulumi.StringInput 130 // Resource identifier. 131 ResourceId pulumi.StringInput 132 } 133 134 func (BudgetResourceAssociationArgs) ElementType() reflect.Type { 135 return reflect.TypeOf((*budgetResourceAssociationArgs)(nil)).Elem() 136 } 137 138 type BudgetResourceAssociationInput interface { 139 pulumi.Input 140 141 ToBudgetResourceAssociationOutput() BudgetResourceAssociationOutput 142 ToBudgetResourceAssociationOutputWithContext(ctx context.Context) BudgetResourceAssociationOutput 143 } 144 145 func (*BudgetResourceAssociation) ElementType() reflect.Type { 146 return reflect.TypeOf((**BudgetResourceAssociation)(nil)).Elem() 147 } 148 149 func (i *BudgetResourceAssociation) ToBudgetResourceAssociationOutput() BudgetResourceAssociationOutput { 150 return i.ToBudgetResourceAssociationOutputWithContext(context.Background()) 151 } 152 153 func (i *BudgetResourceAssociation) ToBudgetResourceAssociationOutputWithContext(ctx context.Context) BudgetResourceAssociationOutput { 154 return pulumi.ToOutputWithContext(ctx, i).(BudgetResourceAssociationOutput) 155 } 156 157 // BudgetResourceAssociationArrayInput is an input type that accepts BudgetResourceAssociationArray and BudgetResourceAssociationArrayOutput values. 158 // You can construct a concrete instance of `BudgetResourceAssociationArrayInput` via: 159 // 160 // BudgetResourceAssociationArray{ BudgetResourceAssociationArgs{...} } 161 type BudgetResourceAssociationArrayInput interface { 162 pulumi.Input 163 164 ToBudgetResourceAssociationArrayOutput() BudgetResourceAssociationArrayOutput 165 ToBudgetResourceAssociationArrayOutputWithContext(context.Context) BudgetResourceAssociationArrayOutput 166 } 167 168 type BudgetResourceAssociationArray []BudgetResourceAssociationInput 169 170 func (BudgetResourceAssociationArray) ElementType() reflect.Type { 171 return reflect.TypeOf((*[]*BudgetResourceAssociation)(nil)).Elem() 172 } 173 174 func (i BudgetResourceAssociationArray) ToBudgetResourceAssociationArrayOutput() BudgetResourceAssociationArrayOutput { 175 return i.ToBudgetResourceAssociationArrayOutputWithContext(context.Background()) 176 } 177 178 func (i BudgetResourceAssociationArray) ToBudgetResourceAssociationArrayOutputWithContext(ctx context.Context) BudgetResourceAssociationArrayOutput { 179 return pulumi.ToOutputWithContext(ctx, i).(BudgetResourceAssociationArrayOutput) 180 } 181 182 // BudgetResourceAssociationMapInput is an input type that accepts BudgetResourceAssociationMap and BudgetResourceAssociationMapOutput values. 183 // You can construct a concrete instance of `BudgetResourceAssociationMapInput` via: 184 // 185 // BudgetResourceAssociationMap{ "key": BudgetResourceAssociationArgs{...} } 186 type BudgetResourceAssociationMapInput interface { 187 pulumi.Input 188 189 ToBudgetResourceAssociationMapOutput() BudgetResourceAssociationMapOutput 190 ToBudgetResourceAssociationMapOutputWithContext(context.Context) BudgetResourceAssociationMapOutput 191 } 192 193 type BudgetResourceAssociationMap map[string]BudgetResourceAssociationInput 194 195 func (BudgetResourceAssociationMap) ElementType() reflect.Type { 196 return reflect.TypeOf((*map[string]*BudgetResourceAssociation)(nil)).Elem() 197 } 198 199 func (i BudgetResourceAssociationMap) ToBudgetResourceAssociationMapOutput() BudgetResourceAssociationMapOutput { 200 return i.ToBudgetResourceAssociationMapOutputWithContext(context.Background()) 201 } 202 203 func (i BudgetResourceAssociationMap) ToBudgetResourceAssociationMapOutputWithContext(ctx context.Context) BudgetResourceAssociationMapOutput { 204 return pulumi.ToOutputWithContext(ctx, i).(BudgetResourceAssociationMapOutput) 205 } 206 207 type BudgetResourceAssociationOutput struct{ *pulumi.OutputState } 208 209 func (BudgetResourceAssociationOutput) ElementType() reflect.Type { 210 return reflect.TypeOf((**BudgetResourceAssociation)(nil)).Elem() 211 } 212 213 func (o BudgetResourceAssociationOutput) ToBudgetResourceAssociationOutput() BudgetResourceAssociationOutput { 214 return o 215 } 216 217 func (o BudgetResourceAssociationOutput) ToBudgetResourceAssociationOutputWithContext(ctx context.Context) BudgetResourceAssociationOutput { 218 return o 219 } 220 221 // Budget name. 222 func (o BudgetResourceAssociationOutput) BudgetName() pulumi.StringOutput { 223 return o.ApplyT(func(v *BudgetResourceAssociation) pulumi.StringOutput { return v.BudgetName }).(pulumi.StringOutput) 224 } 225 226 // Resource identifier. 227 func (o BudgetResourceAssociationOutput) ResourceId() pulumi.StringOutput { 228 return o.ApplyT(func(v *BudgetResourceAssociation) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) 229 } 230 231 type BudgetResourceAssociationArrayOutput struct{ *pulumi.OutputState } 232 233 func (BudgetResourceAssociationArrayOutput) ElementType() reflect.Type { 234 return reflect.TypeOf((*[]*BudgetResourceAssociation)(nil)).Elem() 235 } 236 237 func (o BudgetResourceAssociationArrayOutput) ToBudgetResourceAssociationArrayOutput() BudgetResourceAssociationArrayOutput { 238 return o 239 } 240 241 func (o BudgetResourceAssociationArrayOutput) ToBudgetResourceAssociationArrayOutputWithContext(ctx context.Context) BudgetResourceAssociationArrayOutput { 242 return o 243 } 244 245 func (o BudgetResourceAssociationArrayOutput) Index(i pulumi.IntInput) BudgetResourceAssociationOutput { 246 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *BudgetResourceAssociation { 247 return vs[0].([]*BudgetResourceAssociation)[vs[1].(int)] 248 }).(BudgetResourceAssociationOutput) 249 } 250 251 type BudgetResourceAssociationMapOutput struct{ *pulumi.OutputState } 252 253 func (BudgetResourceAssociationMapOutput) ElementType() reflect.Type { 254 return reflect.TypeOf((*map[string]*BudgetResourceAssociation)(nil)).Elem() 255 } 256 257 func (o BudgetResourceAssociationMapOutput) ToBudgetResourceAssociationMapOutput() BudgetResourceAssociationMapOutput { 258 return o 259 } 260 261 func (o BudgetResourceAssociationMapOutput) ToBudgetResourceAssociationMapOutputWithContext(ctx context.Context) BudgetResourceAssociationMapOutput { 262 return o 263 } 264 265 func (o BudgetResourceAssociationMapOutput) MapIndex(k pulumi.StringInput) BudgetResourceAssociationOutput { 266 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *BudgetResourceAssociation { 267 return vs[0].(map[string]*BudgetResourceAssociation)[vs[1].(string)] 268 }).(BudgetResourceAssociationOutput) 269 } 270 271 func init() { 272 pulumi.RegisterInputType(reflect.TypeOf((*BudgetResourceAssociationInput)(nil)).Elem(), &BudgetResourceAssociation{}) 273 pulumi.RegisterInputType(reflect.TypeOf((*BudgetResourceAssociationArrayInput)(nil)).Elem(), BudgetResourceAssociationArray{}) 274 pulumi.RegisterInputType(reflect.TypeOf((*BudgetResourceAssociationMapInput)(nil)).Elem(), BudgetResourceAssociationMap{}) 275 pulumi.RegisterOutputType(BudgetResourceAssociationOutput{}) 276 pulumi.RegisterOutputType(BudgetResourceAssociationArrayOutput{}) 277 pulumi.RegisterOutputType(BudgetResourceAssociationMapOutput{}) 278 }