github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/schemas/registryPolicy.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 schemas 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 // Resource for managing an AWS EventBridge Schemas Registry Policy. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/schemas" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ 36 // Statements: []iam.GetPolicyDocumentStatement{ 37 // { 38 // Sid: pulumi.StringRef("example"), 39 // Effect: pulumi.StringRef("Allow"), 40 // Principals: []iam.GetPolicyDocumentStatementPrincipal{ 41 // { 42 // Type: "AWS", 43 // Identifiers: []string{ 44 // "109876543210", 45 // }, 46 // }, 47 // }, 48 // Actions: []string{ 49 // "schemas:*", 50 // }, 51 // Resources: []string{ 52 // "arn:aws:schemas:us-east-1:012345678901:registry/example", 53 // "arn:aws:schemas:us-east-1:012345678901:schema/example*", 54 // }, 55 // }, 56 // }, 57 // }, nil) 58 // if err != nil { 59 // return err 60 // } 61 // _, err = schemas.NewRegistryPolicy(ctx, "example", &schemas.RegistryPolicyArgs{ 62 // RegistryName: pulumi.String("example"), 63 // Policy: pulumi.String(example.Json), 64 // }) 65 // if err != nil { 66 // return err 67 // } 68 // return nil 69 // }) 70 // } 71 // 72 // ``` 73 // <!--End PulumiCodeChooser --> 74 // 75 // ## Import 76 // 77 // Using `pulumi import`, import EventBridge Schema Registry Policy using the `registry_name`. For example: 78 // 79 // ```sh 80 // $ pulumi import aws:schemas/registryPolicy:RegistryPolicy example example 81 // ``` 82 type RegistryPolicy struct { 83 pulumi.CustomResourceState 84 85 // Resource Policy for EventBridge Schema Registry 86 Policy pulumi.StringOutput `pulumi:"policy"` 87 // Name of EventBridge Schema Registry 88 RegistryName pulumi.StringOutput `pulumi:"registryName"` 89 } 90 91 // NewRegistryPolicy registers a new resource with the given unique name, arguments, and options. 92 func NewRegistryPolicy(ctx *pulumi.Context, 93 name string, args *RegistryPolicyArgs, opts ...pulumi.ResourceOption) (*RegistryPolicy, error) { 94 if args == nil { 95 return nil, errors.New("missing one or more required arguments") 96 } 97 98 if args.Policy == nil { 99 return nil, errors.New("invalid value for required argument 'Policy'") 100 } 101 if args.RegistryName == nil { 102 return nil, errors.New("invalid value for required argument 'RegistryName'") 103 } 104 opts = internal.PkgResourceDefaultOpts(opts) 105 var resource RegistryPolicy 106 err := ctx.RegisterResource("aws:schemas/registryPolicy:RegistryPolicy", name, args, &resource, opts...) 107 if err != nil { 108 return nil, err 109 } 110 return &resource, nil 111 } 112 113 // GetRegistryPolicy gets an existing RegistryPolicy resource's state with the given name, ID, and optional 114 // state properties that are used to uniquely qualify the lookup (nil if not required). 115 func GetRegistryPolicy(ctx *pulumi.Context, 116 name string, id pulumi.IDInput, state *RegistryPolicyState, opts ...pulumi.ResourceOption) (*RegistryPolicy, error) { 117 var resource RegistryPolicy 118 err := ctx.ReadResource("aws:schemas/registryPolicy:RegistryPolicy", name, id, state, &resource, opts...) 119 if err != nil { 120 return nil, err 121 } 122 return &resource, nil 123 } 124 125 // Input properties used for looking up and filtering RegistryPolicy resources. 126 type registryPolicyState struct { 127 // Resource Policy for EventBridge Schema Registry 128 Policy *string `pulumi:"policy"` 129 // Name of EventBridge Schema Registry 130 RegistryName *string `pulumi:"registryName"` 131 } 132 133 type RegistryPolicyState struct { 134 // Resource Policy for EventBridge Schema Registry 135 Policy pulumi.StringPtrInput 136 // Name of EventBridge Schema Registry 137 RegistryName pulumi.StringPtrInput 138 } 139 140 func (RegistryPolicyState) ElementType() reflect.Type { 141 return reflect.TypeOf((*registryPolicyState)(nil)).Elem() 142 } 143 144 type registryPolicyArgs struct { 145 // Resource Policy for EventBridge Schema Registry 146 Policy string `pulumi:"policy"` 147 // Name of EventBridge Schema Registry 148 RegistryName string `pulumi:"registryName"` 149 } 150 151 // The set of arguments for constructing a RegistryPolicy resource. 152 type RegistryPolicyArgs struct { 153 // Resource Policy for EventBridge Schema Registry 154 Policy pulumi.StringInput 155 // Name of EventBridge Schema Registry 156 RegistryName pulumi.StringInput 157 } 158 159 func (RegistryPolicyArgs) ElementType() reflect.Type { 160 return reflect.TypeOf((*registryPolicyArgs)(nil)).Elem() 161 } 162 163 type RegistryPolicyInput interface { 164 pulumi.Input 165 166 ToRegistryPolicyOutput() RegistryPolicyOutput 167 ToRegistryPolicyOutputWithContext(ctx context.Context) RegistryPolicyOutput 168 } 169 170 func (*RegistryPolicy) ElementType() reflect.Type { 171 return reflect.TypeOf((**RegistryPolicy)(nil)).Elem() 172 } 173 174 func (i *RegistryPolicy) ToRegistryPolicyOutput() RegistryPolicyOutput { 175 return i.ToRegistryPolicyOutputWithContext(context.Background()) 176 } 177 178 func (i *RegistryPolicy) ToRegistryPolicyOutputWithContext(ctx context.Context) RegistryPolicyOutput { 179 return pulumi.ToOutputWithContext(ctx, i).(RegistryPolicyOutput) 180 } 181 182 // RegistryPolicyArrayInput is an input type that accepts RegistryPolicyArray and RegistryPolicyArrayOutput values. 183 // You can construct a concrete instance of `RegistryPolicyArrayInput` via: 184 // 185 // RegistryPolicyArray{ RegistryPolicyArgs{...} } 186 type RegistryPolicyArrayInput interface { 187 pulumi.Input 188 189 ToRegistryPolicyArrayOutput() RegistryPolicyArrayOutput 190 ToRegistryPolicyArrayOutputWithContext(context.Context) RegistryPolicyArrayOutput 191 } 192 193 type RegistryPolicyArray []RegistryPolicyInput 194 195 func (RegistryPolicyArray) ElementType() reflect.Type { 196 return reflect.TypeOf((*[]*RegistryPolicy)(nil)).Elem() 197 } 198 199 func (i RegistryPolicyArray) ToRegistryPolicyArrayOutput() RegistryPolicyArrayOutput { 200 return i.ToRegistryPolicyArrayOutputWithContext(context.Background()) 201 } 202 203 func (i RegistryPolicyArray) ToRegistryPolicyArrayOutputWithContext(ctx context.Context) RegistryPolicyArrayOutput { 204 return pulumi.ToOutputWithContext(ctx, i).(RegistryPolicyArrayOutput) 205 } 206 207 // RegistryPolicyMapInput is an input type that accepts RegistryPolicyMap and RegistryPolicyMapOutput values. 208 // You can construct a concrete instance of `RegistryPolicyMapInput` via: 209 // 210 // RegistryPolicyMap{ "key": RegistryPolicyArgs{...} } 211 type RegistryPolicyMapInput interface { 212 pulumi.Input 213 214 ToRegistryPolicyMapOutput() RegistryPolicyMapOutput 215 ToRegistryPolicyMapOutputWithContext(context.Context) RegistryPolicyMapOutput 216 } 217 218 type RegistryPolicyMap map[string]RegistryPolicyInput 219 220 func (RegistryPolicyMap) ElementType() reflect.Type { 221 return reflect.TypeOf((*map[string]*RegistryPolicy)(nil)).Elem() 222 } 223 224 func (i RegistryPolicyMap) ToRegistryPolicyMapOutput() RegistryPolicyMapOutput { 225 return i.ToRegistryPolicyMapOutputWithContext(context.Background()) 226 } 227 228 func (i RegistryPolicyMap) ToRegistryPolicyMapOutputWithContext(ctx context.Context) RegistryPolicyMapOutput { 229 return pulumi.ToOutputWithContext(ctx, i).(RegistryPolicyMapOutput) 230 } 231 232 type RegistryPolicyOutput struct{ *pulumi.OutputState } 233 234 func (RegistryPolicyOutput) ElementType() reflect.Type { 235 return reflect.TypeOf((**RegistryPolicy)(nil)).Elem() 236 } 237 238 func (o RegistryPolicyOutput) ToRegistryPolicyOutput() RegistryPolicyOutput { 239 return o 240 } 241 242 func (o RegistryPolicyOutput) ToRegistryPolicyOutputWithContext(ctx context.Context) RegistryPolicyOutput { 243 return o 244 } 245 246 // Resource Policy for EventBridge Schema Registry 247 func (o RegistryPolicyOutput) Policy() pulumi.StringOutput { 248 return o.ApplyT(func(v *RegistryPolicy) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) 249 } 250 251 // Name of EventBridge Schema Registry 252 func (o RegistryPolicyOutput) RegistryName() pulumi.StringOutput { 253 return o.ApplyT(func(v *RegistryPolicy) pulumi.StringOutput { return v.RegistryName }).(pulumi.StringOutput) 254 } 255 256 type RegistryPolicyArrayOutput struct{ *pulumi.OutputState } 257 258 func (RegistryPolicyArrayOutput) ElementType() reflect.Type { 259 return reflect.TypeOf((*[]*RegistryPolicy)(nil)).Elem() 260 } 261 262 func (o RegistryPolicyArrayOutput) ToRegistryPolicyArrayOutput() RegistryPolicyArrayOutput { 263 return o 264 } 265 266 func (o RegistryPolicyArrayOutput) ToRegistryPolicyArrayOutputWithContext(ctx context.Context) RegistryPolicyArrayOutput { 267 return o 268 } 269 270 func (o RegistryPolicyArrayOutput) Index(i pulumi.IntInput) RegistryPolicyOutput { 271 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *RegistryPolicy { 272 return vs[0].([]*RegistryPolicy)[vs[1].(int)] 273 }).(RegistryPolicyOutput) 274 } 275 276 type RegistryPolicyMapOutput struct{ *pulumi.OutputState } 277 278 func (RegistryPolicyMapOutput) ElementType() reflect.Type { 279 return reflect.TypeOf((*map[string]*RegistryPolicy)(nil)).Elem() 280 } 281 282 func (o RegistryPolicyMapOutput) ToRegistryPolicyMapOutput() RegistryPolicyMapOutput { 283 return o 284 } 285 286 func (o RegistryPolicyMapOutput) ToRegistryPolicyMapOutputWithContext(ctx context.Context) RegistryPolicyMapOutput { 287 return o 288 } 289 290 func (o RegistryPolicyMapOutput) MapIndex(k pulumi.StringInput) RegistryPolicyOutput { 291 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *RegistryPolicy { 292 return vs[0].(map[string]*RegistryPolicy)[vs[1].(string)] 293 }).(RegistryPolicyOutput) 294 } 295 296 func init() { 297 pulumi.RegisterInputType(reflect.TypeOf((*RegistryPolicyInput)(nil)).Elem(), &RegistryPolicy{}) 298 pulumi.RegisterInputType(reflect.TypeOf((*RegistryPolicyArrayInput)(nil)).Elem(), RegistryPolicyArray{}) 299 pulumi.RegisterInputType(reflect.TypeOf((*RegistryPolicyMapInput)(nil)).Elem(), RegistryPolicyMap{}) 300 pulumi.RegisterOutputType(RegistryPolicyOutput{}) 301 pulumi.RegisterOutputType(RegistryPolicyArrayOutput{}) 302 pulumi.RegisterOutputType(RegistryPolicyMapOutput{}) 303 }