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