Skip to content

Commit

Permalink
Fixes Route53 and AppMesh breaking changes involving MaxItemsOne
Browse files Browse the repository at this point in the history
  • Loading branch information
kpitzen committed Jan 31, 2023
1 parent c6b9b98 commit 0afd67a
Show file tree
Hide file tree
Showing 85 changed files with 2,336 additions and 1,925 deletions.
177 changes: 102 additions & 75 deletions provider/cmd/pulumi-resource-aws/schema.json

Large diffs are not rendered by default.

94 changes: 89 additions & 5 deletions provider/resources.go
Original file line number Diff line number Diff line change
Expand Up @@ -559,13 +559,77 @@ func Provider() tfbridge.ProviderInfo {
"aws_appsync_type": {Tok: awsResource(appsyncMod, "Type")},

// AppMesh
"aws_appmesh_mesh": {Tok: awsResource(appmeshMod, "Mesh")},
"aws_appmesh_route": {Tok: awsResource(appmeshMod, "Route")},
"aws_appmesh_virtual_node": {Tok: awsResource(appmeshMod, "VirtualNode")},
"aws_appmesh_virtual_router": {Tok: awsResource(appmeshMod, "VirtualRouter")},
"aws_appmesh_mesh": {Tok: awsResource(appmeshMod, "Mesh")},
"aws_appmesh_route": {Tok: awsResource(appmeshMod, "Route")},
"aws_appmesh_virtual_node": {
Tok: awsResource(appmeshMod, "VirtualNode"),
Fields: map[string]*tfbridge.SchemaInfo{
"spec": {
Elem: &tfbridge.SchemaInfo{
Fields: map[string]*tfbridge.SchemaInfo{
"listener": {
MaxItemsOne: tfbridge.True(),
Name: "listener",
Elem: &tfbridge.SchemaInfo{
Fields: map[string]*tfbridge.SchemaInfo{
"connection_pool": {
Elem: &tfbridge.SchemaInfo{
Fields: map[string]*tfbridge.SchemaInfo{
"http": {
MaxItemsOne: tfbridge.True(),
Name: "http",
},
"http2": {
MaxItemsOne: tfbridge.True(),
Name: "http2",
},
"tcp": {
MaxItemsOne: tfbridge.True(),
Name: "tcp",
},
},
},
},
},
},
},
},
},
},
},
},
"aws_appmesh_virtual_router": {
Tok: awsResource(appmeshMod, "VirtualRouter"),
Fields: map[string]*tfbridge.SchemaInfo{
"spec": {
Elem: &tfbridge.SchemaInfo{
Fields: map[string]*tfbridge.SchemaInfo{
"listener": {
MaxItemsOne: tfbridge.True(),
Name: "listener",
},
},
},
},
},
},
"aws_appmesh_virtual_service": {Tok: awsResource(appmeshMod, "VirtualService")},
"aws_appmesh_gateway_route": {Tok: awsResource(appmeshMod, "GatewayRoute")},
"aws_appmesh_virtual_gateway": {Tok: awsResource(appmeshMod, "VirtualGateway")},
"aws_appmesh_virtual_gateway": {
Tok: awsResource(appmeshMod, "VirtualGateway"),
Fields: map[string]*tfbridge.SchemaInfo{
"spec": {
Elem: &tfbridge.SchemaInfo{
Fields: map[string]*tfbridge.SchemaInfo{
"listener": {
MaxItemsOne: tfbridge.True(),
Name: "listener",
},
},
},
},
},
},
// API Gateway
"aws_api_gateway_account": {Tok: awsResource(apigatewayMod, "Account")},
"aws_api_gateway_api_key": {
Expand Down Expand Up @@ -2677,6 +2741,26 @@ func Provider() tfbridge.ProviderInfo {
// Do not autoname Route53 records, as the "name" of these is actually the true
// domain name of the DNS record.
"name": {Name: "name"},
"alias": {
MaxItemsOne: tfbridge.False(),
Name: "aliases",
},
"geolocation_routing_policy": {
MaxItemsOne: tfbridge.False(),
Name: "geolocationRoutingPolicies",
},
"latency_routing_policy": {
MaxItemsOne: tfbridge.False(),
Name: "latencyRoutingPolicies",
},
"failover_routing_policy": {
MaxItemsOne: tfbridge.False(),
Name: "failoverRoutingPolicies",
},
"weighted_routing_policy": {
MaxItemsOne: tfbridge.False(),
Name: "weightedRoutingPolicies",
},
},
},
"aws_route53_resolver_config": {Tok: awsResource(route53Mod, "ResolverConfig")},
Expand Down
22 changes: 14 additions & 8 deletions sdk/dotnet/ApiGateway/DomainName.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,14 @@ namespace Pulumi.Aws.ApiGateway
/// Name = exampleDomainName.Domain,
/// Type = "A",
/// ZoneId = aws_route53_zone.Example.Id,
/// Alias = new Aws.Route53.Inputs.RecordAliasArgs
/// Aliases = new[]
/// {
/// EvaluateTargetHealth = true,
/// Name = exampleDomainName.CloudfrontDomainName,
/// ZoneId = exampleDomainName.CloudfrontZoneId,
/// new Aws.Route53.Inputs.RecordAliasArgs
/// {
/// EvaluateTargetHealth = true,
/// Name = exampleDomainName.CloudfrontDomainName,
/// ZoneId = exampleDomainName.CloudfrontZoneId,
/// },
/// },
/// });
///
Expand Down Expand Up @@ -96,11 +99,14 @@ namespace Pulumi.Aws.ApiGateway
/// ZoneId = aws_route53_zone.Example.Id,
/// Name = exampleDomainName.Domain,
/// Type = "A",
/// Alias = new Aws.Route53.Inputs.RecordAliasArgs
/// Aliases = new[]
/// {
/// Name = exampleDomainName.CloudfrontDomainName,
/// ZoneId = exampleDomainName.CloudfrontZoneId,
/// EvaluateTargetHealth = true,
/// new Aws.Route53.Inputs.RecordAliasArgs
/// {
/// Name = exampleDomainName.CloudfrontDomainName,
/// ZoneId = exampleDomainName.CloudfrontZoneId,
/// EvaluateTargetHealth = true,
/// },
/// },
/// });
///
Expand Down
11 changes: 7 additions & 4 deletions sdk/dotnet/ApiGatewayV2/DomainName.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,14 @@ namespace Pulumi.Aws.ApiGatewayV2
/// Name = exampleDomainName.Domain,
/// Type = "A",
/// ZoneId = aws_route53_zone.Example.Zone_id,
/// Alias = new Aws.Route53.Inputs.RecordAliasArgs
/// Aliases = new[]
/// {
/// Name = exampleDomainName.DomainNameConfiguration.Apply(domainNameConfiguration => domainNameConfiguration.TargetDomainName),
/// ZoneId = exampleDomainName.DomainNameConfiguration.Apply(domainNameConfiguration => domainNameConfiguration.HostedZoneId),
/// EvaluateTargetHealth = false,
/// new Aws.Route53.Inputs.RecordAliasArgs
/// {
/// Name = exampleDomainName.DomainNameConfiguration.Apply(domainNameConfiguration => domainNameConfiguration.TargetDomainName),
/// ZoneId = exampleDomainName.DomainNameConfiguration.Apply(domainNameConfiguration => domainNameConfiguration.HostedZoneId),
/// EvaluateTargetHealth = false,
/// },
/// },
/// });
///
Expand Down
10 changes: 2 additions & 8 deletions sdk/dotnet/AppMesh/Inputs/VirtualGatewaySpecArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,11 @@ public sealed class VirtualGatewaySpecArgs : global::Pulumi.ResourceArgs
[Input("backendDefaults")]
public Input<Inputs.VirtualGatewaySpecBackendDefaultsArgs>? BackendDefaults { get; set; }

[Input("listeners", required: true)]
private InputList<Inputs.VirtualGatewaySpecListenerArgs>? _listeners;

/// <summary>
/// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener.
/// </summary>
public InputList<Inputs.VirtualGatewaySpecListenerArgs> Listeners
{
get => _listeners ?? (_listeners = new InputList<Inputs.VirtualGatewaySpecListenerArgs>());
set => _listeners = value;
}
[Input("listener", required: true)]
public Input<Inputs.VirtualGatewaySpecListenerArgs> Listener { get; set; } = null!;

/// <summary>
/// Inbound and outbound access logging information for the virtual gateway.
Expand Down
10 changes: 2 additions & 8 deletions sdk/dotnet/AppMesh/Inputs/VirtualGatewaySpecGetArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,11 @@ public sealed class VirtualGatewaySpecGetArgs : global::Pulumi.ResourceArgs
[Input("backendDefaults")]
public Input<Inputs.VirtualGatewaySpecBackendDefaultsGetArgs>? BackendDefaults { get; set; }

[Input("listeners", required: true)]
private InputList<Inputs.VirtualGatewaySpecListenerGetArgs>? _listeners;

/// <summary>
/// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener.
/// </summary>
public InputList<Inputs.VirtualGatewaySpecListenerGetArgs> Listeners
{
get => _listeners ?? (_listeners = new InputList<Inputs.VirtualGatewaySpecListenerGetArgs>());
set => _listeners = value;
}
[Input("listener", required: true)]
public Input<Inputs.VirtualGatewaySpecListenerGetArgs> Listener { get; set; } = null!;

/// <summary>
/// Inbound and outbound access logging information for the virtual gateway.
Expand Down
10 changes: 2 additions & 8 deletions sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,11 @@ public InputList<Inputs.VirtualNodeSpecBackendArgs> Backends
set => _backends = value;
}

[Input("listeners")]
private InputList<Inputs.VirtualNodeSpecListenerArgs>? _listeners;

/// <summary>
/// Listeners from which the virtual node is expected to receive inbound traffic.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerArgs> Listeners
{
get => _listeners ?? (_listeners = new InputList<Inputs.VirtualNodeSpecListenerArgs>());
set => _listeners = value;
}
[Input("listener")]
public Input<Inputs.VirtualNodeSpecListenerArgs>? Listener { get; set; }

/// <summary>
/// Inbound and outbound access logging information for the virtual node.
Expand Down
10 changes: 2 additions & 8 deletions sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecGetArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,11 @@ public InputList<Inputs.VirtualNodeSpecBackendGetArgs> Backends
set => _backends = value;
}

[Input("listeners")]
private InputList<Inputs.VirtualNodeSpecListenerGetArgs>? _listeners;

/// <summary>
/// Listeners from which the virtual node is expected to receive inbound traffic.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerGetArgs> Listeners
{
get => _listeners ?? (_listeners = new InputList<Inputs.VirtualNodeSpecListenerGetArgs>());
set => _listeners = value;
}
[Input("listener")]
public Input<Inputs.VirtualNodeSpecListenerGetArgs>? Listener { get; set; }

/// <summary>
/// Inbound and outbound access logging information for the virtual node.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,41 +18,23 @@ public sealed class VirtualNodeSpecListenerConnectionPoolArgs : global::Pulumi.R
[Input("grpc")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolGrpcArgs>? Grpc { get; set; }

[Input("http2s")]
private InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2Args>? _http2s;

/// <summary>
/// Connection pool information for HTTP2 listeners.
/// Connection pool information for HTTP listeners.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2Args> Http2s
{
get => _http2s ?? (_http2s = new InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2Args>());
set => _http2s = value;
}

[Input("https")]
private InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttpArgs>? _https;
[Input("http")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolHttpArgs>? Http { get; set; }

/// <summary>
/// Connection pool information for HTTP listeners.
/// Connection pool information for HTTP2 listeners.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttpArgs> Https
{
get => _https ?? (_https = new InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttpArgs>());
set => _https = value;
}

[Input("tcps")]
private InputList<Inputs.VirtualNodeSpecListenerConnectionPoolTcpArgs>? _tcps;
[Input("http2")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2Args>? Http2 { get; set; }

/// <summary>
/// Connection pool information for TCP listeners.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerConnectionPoolTcpArgs> Tcps
{
get => _tcps ?? (_tcps = new InputList<Inputs.VirtualNodeSpecListenerConnectionPoolTcpArgs>());
set => _tcps = value;
}
[Input("tcp")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolTcpArgs>? Tcp { get; set; }

public VirtualNodeSpecListenerConnectionPoolArgs()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,41 +18,23 @@ public sealed class VirtualNodeSpecListenerConnectionPoolGetArgs : global::Pulum
[Input("grpc")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolGrpcGetArgs>? Grpc { get; set; }

[Input("http2s")]
private InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2GetArgs>? _http2s;

/// <summary>
/// Connection pool information for HTTP2 listeners.
/// Connection pool information for HTTP listeners.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2GetArgs> Http2s
{
get => _http2s ?? (_http2s = new InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2GetArgs>());
set => _http2s = value;
}

[Input("https")]
private InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttpGetArgs>? _https;
[Input("http")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolHttpGetArgs>? Http { get; set; }

/// <summary>
/// Connection pool information for HTTP listeners.
/// Connection pool information for HTTP2 listeners.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttpGetArgs> Https
{
get => _https ?? (_https = new InputList<Inputs.VirtualNodeSpecListenerConnectionPoolHttpGetArgs>());
set => _https = value;
}

[Input("tcps")]
private InputList<Inputs.VirtualNodeSpecListenerConnectionPoolTcpGetArgs>? _tcps;
[Input("http2")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolHttp2GetArgs>? Http2 { get; set; }

/// <summary>
/// Connection pool information for TCP listeners.
/// </summary>
public InputList<Inputs.VirtualNodeSpecListenerConnectionPoolTcpGetArgs> Tcps
{
get => _tcps ?? (_tcps = new InputList<Inputs.VirtualNodeSpecListenerConnectionPoolTcpGetArgs>());
set => _tcps = value;
}
[Input("tcp")]
public Input<Inputs.VirtualNodeSpecListenerConnectionPoolTcpGetArgs>? Tcp { get; set; }

public VirtualNodeSpecListenerConnectionPoolGetArgs()
{
Expand Down
10 changes: 2 additions & 8 deletions sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs

public sealed class VirtualRouterSpecArgs : global::Pulumi.ResourceArgs
{
[Input("listeners", required: true)]
private InputList<Inputs.VirtualRouterSpecListenerArgs>? _listeners;

/// <summary>
/// Listeners that the virtual router is expected to receive inbound traffic from.
/// Currently only one listener is supported per virtual router.
/// </summary>
public InputList<Inputs.VirtualRouterSpecListenerArgs> Listeners
{
get => _listeners ?? (_listeners = new InputList<Inputs.VirtualRouterSpecListenerArgs>());
set => _listeners = value;
}
[Input("listener", required: true)]
public Input<Inputs.VirtualRouterSpecListenerArgs> Listener { get; set; } = null!;

public VirtualRouterSpecArgs()
{
Expand Down
10 changes: 2 additions & 8 deletions sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecGetArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs

public sealed class VirtualRouterSpecGetArgs : global::Pulumi.ResourceArgs
{
[Input("listeners", required: true)]
private InputList<Inputs.VirtualRouterSpecListenerGetArgs>? _listeners;

/// <summary>
/// Listeners that the virtual router is expected to receive inbound traffic from.
/// Currently only one listener is supported per virtual router.
/// </summary>
public InputList<Inputs.VirtualRouterSpecListenerGetArgs> Listeners
{
get => _listeners ?? (_listeners = new InputList<Inputs.VirtualRouterSpecListenerGetArgs>());
set => _listeners = value;
}
[Input("listener", required: true)]
public Input<Inputs.VirtualRouterSpecListenerGetArgs> Listener { get; set; } = null!;

public VirtualRouterSpecGetArgs()
{
Expand Down

0 comments on commit 0afd67a

Please sign in to comment.