plans: Include target addresses in the plan
We shouldn't really need these because the plan is already filtered to include diffs only for targeted resources, but we currently rely on this to filter out non-resource items from the diff, and so we'll retain it for now to avoid reworking how the apply-time graph builder works.
This commit is contained in:
parent
d9dfd135c6
commit
074db88636
|
@ -52,7 +52,7 @@ func (x Action) String() string {
|
||||||
return proto.EnumName(Action_name, int32(x))
|
return proto.EnumName(Action_name, int32(x))
|
||||||
}
|
}
|
||||||
func (Action) EnumDescriptor() ([]byte, []int) {
|
func (Action) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{0}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type ResourceInstanceChange_ResourceMode int32
|
type ResourceInstanceChange_ResourceMode int32
|
||||||
|
@ -75,7 +75,7 @@ func (x ResourceInstanceChange_ResourceMode) String() string {
|
||||||
return proto.EnumName(ResourceInstanceChange_ResourceMode_name, int32(x))
|
return proto.EnumName(ResourceInstanceChange_ResourceMode_name, int32(x))
|
||||||
}
|
}
|
||||||
func (ResourceInstanceChange_ResourceMode) EnumDescriptor() ([]byte, []int) {
|
func (ResourceInstanceChange_ResourceMode) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{3, 0}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{3, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Plan is the root message type for the tfplan file
|
// Plan is the root message type for the tfplan file
|
||||||
|
@ -101,6 +101,10 @@ type Plan struct {
|
||||||
// outputs that are not changing, as context for detecting inconsistencies
|
// outputs that are not changing, as context for detecting inconsistencies
|
||||||
// at apply time.
|
// at apply time.
|
||||||
OutputChanges []*OutputChange `protobuf:"bytes,4,rep,name=output_changes,json=outputChanges,proto3" json:"output_changes,omitempty"`
|
OutputChanges []*OutputChange `protobuf:"bytes,4,rep,name=output_changes,json=outputChanges,proto3" json:"output_changes,omitempty"`
|
||||||
|
// An unordered set of target addresses to include when applying. If no
|
||||||
|
// target addresses are present, the plan applies to the whole
|
||||||
|
// configuration.
|
||||||
|
TargetAddrs []string `protobuf:"bytes,5,rep,name=target_addrs,json=targetAddrs,proto3" json:"target_addrs,omitempty"`
|
||||||
// The version string for the Terraform binary that created this plan.
|
// The version string for the Terraform binary that created this plan.
|
||||||
TerraformVersion string `protobuf:"bytes,14,opt,name=terraform_version,json=terraformVersion,proto3" json:"terraform_version,omitempty"`
|
TerraformVersion string `protobuf:"bytes,14,opt,name=terraform_version,json=terraformVersion,proto3" json:"terraform_version,omitempty"`
|
||||||
// SHA256 digests of all of the provider plugin binaries that were used
|
// SHA256 digests of all of the provider plugin binaries that were used
|
||||||
|
@ -118,7 +122,7 @@ func (m *Plan) Reset() { *m = Plan{} }
|
||||||
func (m *Plan) String() string { return proto.CompactTextString(m) }
|
func (m *Plan) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Plan) ProtoMessage() {}
|
func (*Plan) ProtoMessage() {}
|
||||||
func (*Plan) Descriptor() ([]byte, []int) {
|
func (*Plan) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{0}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{0}
|
||||||
}
|
}
|
||||||
func (m *Plan) XXX_Unmarshal(b []byte) error {
|
func (m *Plan) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Plan.Unmarshal(m, b)
|
return xxx_messageInfo_Plan.Unmarshal(m, b)
|
||||||
|
@ -166,6 +170,13 @@ func (m *Plan) GetOutputChanges() []*OutputChange {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Plan) GetTargetAddrs() []string {
|
||||||
|
if m != nil {
|
||||||
|
return m.TargetAddrs
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Plan) GetTerraformVersion() string {
|
func (m *Plan) GetTerraformVersion() string {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.TerraformVersion
|
return m.TerraformVersion
|
||||||
|
@ -201,7 +212,7 @@ func (m *Backend) Reset() { *m = Backend{} }
|
||||||
func (m *Backend) String() string { return proto.CompactTextString(m) }
|
func (m *Backend) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Backend) ProtoMessage() {}
|
func (*Backend) ProtoMessage() {}
|
||||||
func (*Backend) Descriptor() ([]byte, []int) {
|
func (*Backend) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{1}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{1}
|
||||||
}
|
}
|
||||||
func (m *Backend) XXX_Unmarshal(b []byte) error {
|
func (m *Backend) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Backend.Unmarshal(m, b)
|
return xxx_messageInfo_Backend.Unmarshal(m, b)
|
||||||
|
@ -267,7 +278,7 @@ func (m *Change) Reset() { *m = Change{} }
|
||||||
func (m *Change) String() string { return proto.CompactTextString(m) }
|
func (m *Change) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Change) ProtoMessage() {}
|
func (*Change) ProtoMessage() {}
|
||||||
func (*Change) Descriptor() ([]byte, []int) {
|
func (*Change) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{2}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{2}
|
||||||
}
|
}
|
||||||
func (m *Change) XXX_Unmarshal(b []byte) error {
|
func (m *Change) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Change.Unmarshal(m, b)
|
return xxx_messageInfo_Change.Unmarshal(m, b)
|
||||||
|
@ -353,7 +364,7 @@ func (m *ResourceInstanceChange) Reset() { *m = ResourceInstanceChange{}
|
||||||
func (m *ResourceInstanceChange) String() string { return proto.CompactTextString(m) }
|
func (m *ResourceInstanceChange) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ResourceInstanceChange) ProtoMessage() {}
|
func (*ResourceInstanceChange) ProtoMessage() {}
|
||||||
func (*ResourceInstanceChange) Descriptor() ([]byte, []int) {
|
func (*ResourceInstanceChange) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{3}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{3}
|
||||||
}
|
}
|
||||||
func (m *ResourceInstanceChange) XXX_Unmarshal(b []byte) error {
|
func (m *ResourceInstanceChange) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ResourceInstanceChange.Unmarshal(m, b)
|
return xxx_messageInfo_ResourceInstanceChange.Unmarshal(m, b)
|
||||||
|
@ -555,7 +566,7 @@ func (m *OutputChange) Reset() { *m = OutputChange{} }
|
||||||
func (m *OutputChange) String() string { return proto.CompactTextString(m) }
|
func (m *OutputChange) String() string { return proto.CompactTextString(m) }
|
||||||
func (*OutputChange) ProtoMessage() {}
|
func (*OutputChange) ProtoMessage() {}
|
||||||
func (*OutputChange) Descriptor() ([]byte, []int) {
|
func (*OutputChange) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{4}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{4}
|
||||||
}
|
}
|
||||||
func (m *OutputChange) XXX_Unmarshal(b []byte) error {
|
func (m *OutputChange) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_OutputChange.Unmarshal(m, b)
|
return xxx_messageInfo_OutputChange.Unmarshal(m, b)
|
||||||
|
@ -619,7 +630,7 @@ func (m *DynamicValue) Reset() { *m = DynamicValue{} }
|
||||||
func (m *DynamicValue) String() string { return proto.CompactTextString(m) }
|
func (m *DynamicValue) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DynamicValue) ProtoMessage() {}
|
func (*DynamicValue) ProtoMessage() {}
|
||||||
func (*DynamicValue) Descriptor() ([]byte, []int) {
|
func (*DynamicValue) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{5}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{5}
|
||||||
}
|
}
|
||||||
func (m *DynamicValue) XXX_Unmarshal(b []byte) error {
|
func (m *DynamicValue) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DynamicValue.Unmarshal(m, b)
|
return xxx_messageInfo_DynamicValue.Unmarshal(m, b)
|
||||||
|
@ -665,7 +676,7 @@ func (m *Hash) Reset() { *m = Hash{} }
|
||||||
func (m *Hash) String() string { return proto.CompactTextString(m) }
|
func (m *Hash) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Hash) ProtoMessage() {}
|
func (*Hash) ProtoMessage() {}
|
||||||
func (*Hash) Descriptor() ([]byte, []int) {
|
func (*Hash) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{6}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{6}
|
||||||
}
|
}
|
||||||
func (m *Hash) XXX_Unmarshal(b []byte) error {
|
func (m *Hash) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Hash.Unmarshal(m, b)
|
return xxx_messageInfo_Hash.Unmarshal(m, b)
|
||||||
|
@ -706,7 +717,7 @@ func (m *Path) Reset() { *m = Path{} }
|
||||||
func (m *Path) String() string { return proto.CompactTextString(m) }
|
func (m *Path) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Path) ProtoMessage() {}
|
func (*Path) ProtoMessage() {}
|
||||||
func (*Path) Descriptor() ([]byte, []int) {
|
func (*Path) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{7}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{7}
|
||||||
}
|
}
|
||||||
func (m *Path) XXX_Unmarshal(b []byte) error {
|
func (m *Path) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Path.Unmarshal(m, b)
|
return xxx_messageInfo_Path.Unmarshal(m, b)
|
||||||
|
@ -747,7 +758,7 @@ func (m *Path_Step) Reset() { *m = Path_Step{} }
|
||||||
func (m *Path_Step) String() string { return proto.CompactTextString(m) }
|
func (m *Path_Step) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Path_Step) ProtoMessage() {}
|
func (*Path_Step) ProtoMessage() {}
|
||||||
func (*Path_Step) Descriptor() ([]byte, []int) {
|
func (*Path_Step) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_planfile_f722ed393ded62c3, []int{7, 0}
|
return fileDescriptor_planfile_99d56bc18c7b6e8d, []int{7, 0}
|
||||||
}
|
}
|
||||||
func (m *Path_Step) XXX_Unmarshal(b []byte) error {
|
func (m *Path_Step) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Path_Step.Unmarshal(m, b)
|
return xxx_messageInfo_Path_Step.Unmarshal(m, b)
|
||||||
|
@ -888,62 +899,64 @@ func init() {
|
||||||
proto.RegisterEnum("tfplan.ResourceInstanceChange_ResourceMode", ResourceInstanceChange_ResourceMode_name, ResourceInstanceChange_ResourceMode_value)
|
proto.RegisterEnum("tfplan.ResourceInstanceChange_ResourceMode", ResourceInstanceChange_ResourceMode_name, ResourceInstanceChange_ResourceMode_value)
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { proto.RegisterFile("planfile.proto", fileDescriptor_planfile_f722ed393ded62c3) }
|
func init() { proto.RegisterFile("planfile.proto", fileDescriptor_planfile_99d56bc18c7b6e8d) }
|
||||||
|
|
||||||
var fileDescriptor_planfile_f722ed393ded62c3 = []byte{
|
var fileDescriptor_planfile_99d56bc18c7b6e8d = []byte{
|
||||||
// 862 bytes of a gzipped FileDescriptorProto
|
// 883 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0xdb, 0x6e, 0xe3, 0x36,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0x6d, 0x6f, 0xe3, 0x44,
|
||||||
0x10, 0x8d, 0x6c, 0xc5, 0x97, 0xb1, 0xa3, 0x68, 0xd9, 0x62, 0x21, 0xa4, 0x8b, 0xad, 0x21, 0xa0,
|
0x10, 0x8e, 0x63, 0xe7, 0x6d, 0x92, 0xba, 0xbe, 0x05, 0x9d, 0xac, 0x72, 0x3a, 0x82, 0x25, 0xb8,
|
||||||
0x5d, 0x77, 0xb7, 0x70, 0x00, 0x17, 0x6d, 0xba, 0xed, 0x43, 0x91, 0x8b, 0x81, 0x04, 0x7b, 0x89,
|
0x70, 0x87, 0x52, 0x29, 0x08, 0xca, 0xc1, 0x07, 0x94, 0xb6, 0x91, 0x5a, 0xdd, 0x4b, 0xa3, 0xa5,
|
||||||
0xc1, 0x6e, 0xf3, 0xd0, 0x87, 0x1a, 0xb4, 0x34, 0xb1, 0x89, 0x48, 0x94, 0x4a, 0xd2, 0x2e, 0xfc,
|
0xf4, 0x03, 0x1f, 0x88, 0x36, 0xf6, 0x34, 0xb1, 0xea, 0xd8, 0x66, 0x77, 0x13, 0x94, 0x1f, 0xc4,
|
||||||
0x41, 0x7d, 0xea, 0xc7, 0xf4, 0x97, 0x0a, 0x52, 0x17, 0x3b, 0x40, 0xea, 0x27, 0x6b, 0xce, 0x0c,
|
0xdf, 0x81, 0xbf, 0x84, 0x76, 0xd7, 0x76, 0x52, 0xa9, 0x97, 0x4f, 0xf1, 0x3c, 0x33, 0xfb, 0xec,
|
||||||
0x0f, 0x67, 0xce, 0xcc, 0xd0, 0xe0, 0xe5, 0x09, 0x13, 0xf7, 0x3c, 0xc1, 0x51, 0x2e, 0x33, 0x9d,
|
0xcc, 0x33, 0xb3, 0x13, 0x70, 0xf3, 0x84, 0xa5, 0xf7, 0x71, 0x82, 0xc3, 0x9c, 0x67, 0x32, 0x23,
|
||||||
0x91, 0x96, 0xbe, 0x37, 0x48, 0xf8, 0x8f, 0x0b, 0xee, 0x34, 0x61, 0x82, 0x04, 0xd0, 0x5e, 0xa3,
|
0x4d, 0x79, 0xaf, 0x90, 0xe0, 0x5f, 0x07, 0x9c, 0x69, 0xc2, 0x52, 0xe2, 0x43, 0x6b, 0x83, 0x5c,
|
||||||
0x54, 0x3c, 0x13, 0x81, 0x33, 0x70, 0x86, 0x2e, 0xad, 0x4c, 0xf2, 0x16, 0xba, 0x6b, 0x26, 0x39,
|
0xc4, 0x59, 0xea, 0x5b, 0x7d, 0x6b, 0xe0, 0xd0, 0xd2, 0x24, 0x6f, 0xa1, 0xb3, 0x61, 0x3c, 0x66,
|
||||||
0x9b, 0x27, 0xa8, 0x82, 0xc6, 0xa0, 0x39, 0xec, 0x8d, 0xbf, 0x18, 0x15, 0xc7, 0x47, 0xe6, 0xe8,
|
0xf3, 0x04, 0x85, 0x5f, 0xef, 0xdb, 0x83, 0xee, 0xe8, 0x8b, 0xa1, 0x39, 0x3e, 0x54, 0x47, 0x87,
|
||||||
0xe8, 0xae, 0xf2, 0x4e, 0x84, 0x96, 0x1b, 0xba, 0x8d, 0x26, 0x37, 0xe0, 0x4b, 0x54, 0xd9, 0x4a,
|
0x77, 0xa5, 0x77, 0x92, 0x4a, 0xbe, 0xa5, 0xbb, 0x68, 0x72, 0x0d, 0x1e, 0x47, 0x91, 0xad, 0x79,
|
||||||
0x46, 0x38, 0x8b, 0x96, 0x4c, 0x2c, 0x50, 0x05, 0x4d, 0xcb, 0xf0, 0xb2, 0x62, 0xa0, 0xa5, 0xff,
|
0x88, 0xb3, 0x70, 0xc9, 0xd2, 0x05, 0x0a, 0xdf, 0xd6, 0x0c, 0x2f, 0x4b, 0x06, 0x5a, 0xf8, 0xaf,
|
||||||
0x46, 0x28, 0xcd, 0x44, 0x84, 0x97, 0x36, 0x8c, 0x1e, 0x57, 0xe7, 0x0a, 0x5b, 0x91, 0x9f, 0xc1,
|
0x53, 0x21, 0x59, 0x1a, 0xe2, 0x85, 0x0e, 0xa3, 0xc7, 0xe5, 0x39, 0x63, 0x0b, 0xf2, 0x0b, 0xb8,
|
||||||
0xcb, 0x56, 0x3a, 0x5f, 0xe9, 0x9a, 0xc8, 0xb5, 0x44, 0x9f, 0x57, 0x44, 0xb7, 0xd6, 0x5b, 0x1e,
|
0xd9, 0x5a, 0xe6, 0x6b, 0x59, 0x11, 0x39, 0x9a, 0xe8, 0xf3, 0x92, 0xe8, 0x46, 0x7b, 0x8b, 0xe3,
|
||||||
0x3f, 0xca, 0x76, 0x2c, 0x45, 0xde, 0xc0, 0x33, 0x8d, 0x52, 0xb2, 0xfb, 0x4c, 0xa6, 0xb3, 0xaa,
|
0x47, 0xd9, 0x9e, 0x25, 0xc8, 0x57, 0xd0, 0x93, 0x8c, 0x2f, 0x50, 0xce, 0x58, 0x14, 0x71, 0xe1,
|
||||||
0x4c, 0x6f, 0xe0, 0x0c, 0xbb, 0xd4, 0xaf, 0x1d, 0x77, 0x65, 0xbd, 0x37, 0x70, 0x9c, 0xcb, 0x6c,
|
0x37, 0xfa, 0xf6, 0xa0, 0x43, 0xbb, 0x06, 0x1b, 0x2b, 0x88, 0xbc, 0x81, 0x67, 0x12, 0x39, 0x67,
|
||||||
0xcd, 0x63, 0x94, 0xb3, 0x25, 0x53, 0x4b, 0x54, 0xc1, 0xb1, 0xbd, 0x6a, 0xf0, 0xa8, 0xea, 0x69,
|
0xf7, 0x19, 0x5f, 0xcd, 0x4a, 0x25, 0xdc, 0xbe, 0x35, 0xe8, 0x50, 0xaf, 0x72, 0xdc, 0x15, 0x92,
|
||||||
0x19, 0x73, 0x6d, 0x43, 0x8a, 0xd2, 0xbd, 0xfc, 0x11, 0x48, 0xbe, 0x81, 0xf6, 0x9c, 0x45, 0x0f,
|
0x5c, 0xc3, 0x71, 0xce, 0xb3, 0x4d, 0x1c, 0x21, 0x9f, 0x2d, 0x99, 0x58, 0xa2, 0xf0, 0x8f, 0x75,
|
||||||
0x28, 0xe2, 0xe0, 0x68, 0xe0, 0x0c, 0x7b, 0xe3, 0xe3, 0x8a, 0xe2, 0xa2, 0x80, 0x69, 0xe5, 0x3f,
|
0x36, 0xfd, 0x47, 0xc2, 0x4c, 0x8b, 0x98, 0x2b, 0x1d, 0x62, 0xd4, 0x71, 0xf3, 0x47, 0x20, 0xf9,
|
||||||
0xa1, 0xe0, 0x3d, 0xd6, 0x91, 0xf8, 0xd0, 0x7c, 0xc0, 0x8d, 0xed, 0x46, 0x97, 0x9a, 0x4f, 0xf2,
|
0x16, 0x5a, 0x73, 0x16, 0x3e, 0x60, 0x1a, 0xf9, 0x47, 0x7d, 0x6b, 0xd0, 0x1d, 0x1d, 0x97, 0x14,
|
||||||
0x1a, 0x0e, 0xd7, 0x2c, 0x59, 0x61, 0xd0, 0xb0, 0x64, 0x75, 0xe9, 0x57, 0x1b, 0xc1, 0x52, 0x1e,
|
0xe7, 0x06, 0xa6, 0xa5, 0xff, 0x84, 0x82, 0xfb, 0x58, 0x6a, 0xe2, 0x81, 0xfd, 0x80, 0x5b, 0xdd,
|
||||||
0xdd, 0x19, 0x1f, 0x2d, 0x42, 0x7e, 0x6a, 0xfc, 0xe8, 0x9c, 0xdc, 0xc2, 0x67, 0x4f, 0x64, 0xf9,
|
0xb0, 0x0e, 0x55, 0x9f, 0xe4, 0x35, 0x34, 0x36, 0x2c, 0x59, 0xa3, 0x5f, 0xd7, 0x64, 0x95, 0x3a,
|
||||||
0x04, 0x71, 0xf8, 0x98, 0xb8, 0x5f, 0x11, 0x9b, 0x53, 0x3b, 0x84, 0x21, 0x87, 0x76, 0x99, 0x38,
|
0x97, 0xdb, 0x94, 0xad, 0xe2, 0xf0, 0x4e, 0xf9, 0xa8, 0x09, 0xf9, 0xb9, 0xfe, 0x93, 0x75, 0x72,
|
||||||
0x21, 0xe0, 0xea, 0x4d, 0x8e, 0x25, 0x8b, 0xfd, 0x26, 0xdf, 0x42, 0x2b, 0xca, 0xc4, 0x3d, 0x5f,
|
0x03, 0x9f, 0x3d, 0x91, 0xe5, 0x13, 0xc4, 0xc1, 0x63, 0xe2, 0x5e, 0x49, 0xac, 0x4e, 0xed, 0x11,
|
||||||
0xec, 0x4d, 0xb0, 0x8c, 0x21, 0x2f, 0xa0, 0xfb, 0x57, 0x26, 0x1f, 0x54, 0xce, 0x22, 0x0c, 0x9a,
|
0x06, 0x31, 0xb4, 0x8a, 0xc4, 0x09, 0x01, 0x47, 0x6e, 0x73, 0x2c, 0x58, 0xf4, 0x37, 0xf9, 0x0e,
|
||||||
0x96, 0x66, 0x0b, 0x84, 0x7f, 0x40, 0xab, 0xe8, 0x1e, 0xf9, 0x1a, 0x5a, 0x2c, 0xd2, 0xd5, 0x60,
|
0x9a, 0x61, 0x96, 0xde, 0xc7, 0x8b, 0x83, 0x09, 0x16, 0x31, 0xe4, 0x05, 0x74, 0xfe, 0xce, 0xf8,
|
||||||
0x7a, 0x63, 0xaf, 0x62, 0x3d, 0xb7, 0x28, 0x2d, 0xbd, 0xe6, 0x76, 0x9b, 0x69, 0x35, 0xa4, 0xff,
|
0x83, 0xc8, 0x59, 0x88, 0xbe, 0xad, 0x69, 0x76, 0x40, 0xf0, 0x27, 0x34, 0x4d, 0x83, 0xc9, 0x37,
|
||||||
0x73, 0x7b, 0x11, 0x13, 0xfe, 0xdb, 0x84, 0xe7, 0x4f, 0xcf, 0x1e, 0xf9, 0x12, 0x7a, 0x69, 0x16,
|
0xd0, 0x64, 0xa1, 0x2c, 0x67, 0xd7, 0x1d, 0xb9, 0x25, 0xeb, 0x58, 0xa3, 0xb4, 0xf0, 0xaa, 0xdb,
|
||||||
0xaf, 0x12, 0x9c, 0xe5, 0x4c, 0x2f, 0xcb, 0x0a, 0xa1, 0x80, 0xa6, 0x4c, 0x2f, 0xc9, 0x2f, 0xe0,
|
0x75, 0xa6, 0xe5, 0x1c, 0x7f, 0xe2, 0x76, 0x13, 0x13, 0xfc, 0x67, 0xc3, 0xf3, 0xa7, 0xc7, 0x93,
|
||||||
0xa6, 0x59, 0x5c, 0xa8, 0xe5, 0x8d, 0xdf, 0xec, 0x1f, 0xe5, 0x1a, 0xfe, 0x90, 0xc5, 0x48, 0xed,
|
0x7c, 0x09, 0xdd, 0x55, 0x16, 0xad, 0x13, 0x9c, 0xe5, 0x4c, 0x2e, 0x8b, 0x0a, 0xc1, 0x40, 0x53,
|
||||||
0xc1, 0x5a, 0xbc, 0xe6, 0x8e, 0x78, 0x04, 0x5c, 0xc1, 0x52, 0x0c, 0xdc, 0x02, 0x33, 0xdf, 0x84,
|
0x26, 0x97, 0xe4, 0x57, 0x70, 0x56, 0x59, 0x64, 0xd4, 0x72, 0x47, 0x6f, 0x0e, 0x4f, 0x7b, 0x05,
|
||||||
0x40, 0x53, 0x69, 0x19, 0x1c, 0x1a, 0xe8, 0xfa, 0x80, 0x1a, 0xc3, 0x60, 0x5c, 0xe8, 0xa0, 0x35,
|
0x7f, 0xc8, 0x22, 0xa4, 0xfa, 0x60, 0x25, 0x9e, 0xbd, 0x27, 0x1e, 0x01, 0x27, 0x65, 0x2b, 0xf4,
|
||||||
0x70, 0x86, 0x4d, 0x83, 0x71, 0xa1, 0x4d, 0xc6, 0x31, 0xe6, 0x99, 0xc2, 0x78, 0x66, 0x3a, 0xdb,
|
0x1d, 0x83, 0xa9, 0x6f, 0x42, 0xc0, 0x16, 0x92, 0xfb, 0x0d, 0x05, 0x5d, 0xd5, 0xa8, 0x32, 0x14,
|
||||||
0x2e, 0x32, 0x2e, 0xa1, 0x77, 0xb8, 0x21, 0x27, 0xd0, 0xa9, 0x46, 0x33, 0xe8, 0x58, 0x6f, 0x6d,
|
0x16, 0xa7, 0xd2, 0x6f, 0xf6, 0xad, 0x81, 0xad, 0xb0, 0x38, 0x95, 0x2a, 0xe3, 0x08, 0xf3, 0x4c,
|
||||||
0x1b, 0x7d, 0x8b, 0x95, 0x0a, 0xba, 0xb6, 0x6b, 0xb5, 0xbe, 0xe5, 0x2e, 0x95, 0x5e, 0x32, 0x82,
|
0x60, 0x34, 0x53, 0x9d, 0x6d, 0x99, 0x8c, 0x0b, 0xe8, 0x1d, 0x6e, 0xc9, 0x09, 0xb4, 0xcb, 0xd1,
|
||||||
0x76, 0x2e, 0xf9, 0x9a, 0x69, 0x0c, 0x60, 0x4f, 0x7b, 0xab, 0x20, 0x72, 0x66, 0x96, 0xff, 0xcf,
|
0xf4, 0xdb, 0xda, 0x5b, 0xd9, 0x4a, 0x5f, 0xf3, 0xea, 0xfc, 0x8e, 0xee, 0x5a, 0xa5, 0x6f, 0xf1,
|
||||||
0x15, 0x97, 0x18, 0xcf, 0x24, 0xe6, 0x89, 0x69, 0x73, 0xcf, 0x76, 0xa6, 0x9e, 0x2f, 0xa3, 0xa6,
|
0xdc, 0x0a, 0x2f, 0x19, 0x42, 0x2b, 0xe7, 0xf1, 0x86, 0x49, 0xf4, 0xe1, 0x40, 0x7b, 0xcb, 0x20,
|
||||||
0x59, 0xf5, 0x22, 0x8a, 0x16, 0x41, 0xe1, 0x57, 0xd0, 0xdf, 0xd5, 0x8c, 0xf4, 0xa0, 0x9d, 0x32,
|
0x72, 0xa6, 0xf6, 0xc3, 0x5f, 0xeb, 0x98, 0x63, 0x34, 0xe3, 0x98, 0x27, 0xaa, 0xcd, 0x5d, 0xdd,
|
||||||
0xc1, 0x16, 0x18, 0xfb, 0x07, 0xa4, 0x03, 0x6e, 0xcc, 0x34, 0xf3, 0x9d, 0x0b, 0x0f, 0xfa, 0xbc,
|
0x99, 0x6a, 0xbe, 0x94, 0x9a, 0x6a, 0x1b, 0x98, 0x28, 0x6a, 0x82, 0x82, 0xaf, 0xa1, 0xb7, 0xaf,
|
||||||
0x54, 0xda, 0x54, 0x1d, 0x2e, 0xa1, 0xbf, 0xfb, 0x06, 0xd4, 0x82, 0x3a, 0x3b, 0x82, 0x6e, 0x6b,
|
0x19, 0xe9, 0x42, 0x6b, 0xc5, 0x52, 0xb6, 0xc0, 0xc8, 0xab, 0x91, 0x36, 0x38, 0x11, 0x93, 0xcc,
|
||||||
0x6d, 0xec, 0xad, 0xf5, 0x05, 0x74, 0x15, 0x0a, 0xc5, 0x35, 0x5f, 0x17, 0x5d, 0xea, 0xd0, 0x2d,
|
0xb3, 0xce, 0x5d, 0xe8, 0xc5, 0x85, 0xd2, 0xaa, 0xea, 0x60, 0x09, 0xbd, 0xfd, 0x35, 0x51, 0x09,
|
||||||
0x10, 0x0e, 0xa1, 0xbf, 0x5b, 0xb2, 0x79, 0x3b, 0x53, 0xb5, 0xc8, 0x59, 0xf4, 0x60, 0x2f, 0xeb,
|
0x6a, 0xed, 0x09, 0xba, 0xab, 0xb5, 0x7e, 0xb0, 0xd6, 0x17, 0xd0, 0x11, 0x98, 0x8a, 0x58, 0xc6,
|
||||||
0xd3, 0xca, 0x0c, 0x5f, 0x82, 0x6b, 0x76, 0x88, 0x3c, 0x87, 0x96, 0x5a, 0xb2, 0xf1, 0xf7, 0x3f,
|
0x1b, 0xd3, 0xa5, 0x36, 0xdd, 0x01, 0xc1, 0x00, 0x7a, 0xfb, 0x25, 0xab, 0xf5, 0xba, 0x12, 0x8b,
|
||||||
0x94, 0x01, 0xa5, 0x15, 0xfe, 0xed, 0x80, 0x6b, 0x47, 0xea, 0x15, 0x1c, 0x2a, 0x8d, 0xb9, 0x0a,
|
0x9c, 0x85, 0x0f, 0xfa, 0xb2, 0x1e, 0x2d, 0xcd, 0xe0, 0x25, 0x38, 0xea, 0x0d, 0x91, 0xe7, 0xd0,
|
||||||
0x1c, 0xab, 0xd0, 0xb3, 0x5d, 0x85, 0x46, 0xbf, 0x6a, 0xcc, 0x69, 0xe1, 0x3f, 0xd1, 0xe0, 0x1a,
|
0x14, 0x4b, 0x36, 0xfa, 0xe1, 0xc7, 0x22, 0xa0, 0xb0, 0x82, 0x7f, 0x2c, 0x70, 0xf4, 0x48, 0xbd,
|
||||||
0x93, 0xbc, 0x02, 0x8f, 0x69, 0x2d, 0xf9, 0x7c, 0xa5, 0x71, 0xb6, 0xad, 0xf3, 0xfa, 0x80, 0x1e,
|
0x82, 0x86, 0x90, 0x98, 0x0b, 0xdf, 0xd2, 0x0a, 0x3d, 0xdb, 0x57, 0x68, 0xf8, 0x9b, 0xc4, 0x9c,
|
||||||
0xd5, 0xf8, 0x47, 0x53, 0xf2, 0x19, 0xf4, 0x30, 0xc1, 0x14, 0x85, 0xb6, 0xb3, 0xb1, 0x67, 0x33,
|
0x1a, 0xff, 0x89, 0x04, 0x47, 0x99, 0xe4, 0x15, 0xb8, 0x4c, 0x4a, 0x1e, 0xcf, 0xd7, 0x12, 0x67,
|
||||||
0xaf, 0x0f, 0x28, 0x94, 0xa1, 0xef, 0x70, 0x73, 0x01, 0xd0, 0x51, 0x98, 0x60, 0xa4, 0x33, 0xf9,
|
0xbb, 0x3a, 0xaf, 0x6a, 0xf4, 0xa8, 0xc2, 0x3f, 0xaa, 0x92, 0xcf, 0xa0, 0x8b, 0x09, 0xae, 0x30,
|
||||||
0xfa, 0x03, 0xb4, 0x8a, 0x6d, 0x33, 0xfa, 0x7f, 0xbc, 0xbd, 0x9d, 0xfa, 0x07, 0x04, 0xa0, 0x75,
|
0x95, 0x7a, 0x36, 0x0e, 0xbc, 0xcc, 0xab, 0x1a, 0x85, 0x22, 0xf4, 0x1d, 0x6e, 0xcf, 0x01, 0xda,
|
||||||
0x49, 0x27, 0xe7, 0x9f, 0x26, 0xbe, 0x63, 0x50, 0x3a, 0x39, 0xbf, 0xf2, 0x1b, 0x06, 0xfd, 0x6d,
|
0x02, 0x13, 0x0c, 0x65, 0xc6, 0x5f, 0x7f, 0x80, 0xa6, 0x79, 0x6d, 0x4a, 0xff, 0x8f, 0x37, 0x37,
|
||||||
0x7a, 0x65, 0xd0, 0xa6, 0x69, 0x1c, 0x9d, 0x4c, 0xdf, 0x9f, 0x5f, 0x4e, 0x7c, 0xd7, 0x38, 0xae,
|
0x53, 0xaf, 0x46, 0x00, 0x9a, 0x17, 0x74, 0x32, 0xbe, 0x9d, 0x78, 0x96, 0x42, 0xe9, 0x64, 0x7c,
|
||||||
0x26, 0xef, 0x27, 0x9f, 0x26, 0xfe, 0xe1, 0xc5, 0xdb, 0xdf, 0xcf, 0x16, 0x5c, 0x2f, 0x57, 0xf3,
|
0xe9, 0xd5, 0x15, 0xfa, 0xfb, 0xf4, 0x52, 0xa1, 0xb6, 0x6a, 0x1c, 0x9d, 0x4c, 0xdf, 0x8f, 0x2f,
|
||||||
0x51, 0x94, 0xa5, 0xa7, 0xe6, 0x91, 0xe5, 0x51, 0x26, 0xf3, 0xd3, 0xfa, 0x2d, 0x3e, 0x35, 0xc9,
|
0x26, 0x9e, 0xa3, 0x1c, 0x97, 0x93, 0xf7, 0x93, 0xdb, 0x89, 0xd7, 0x38, 0x7f, 0xfb, 0xc7, 0xd9,
|
||||||
0xa9, 0x53, 0x2e, 0x34, 0x4a, 0xc1, 0x12, 0x6b, 0xda, 0x3f, 0xae, 0x79, 0xcb, 0xfe, 0x7c, 0xf7,
|
0x22, 0x96, 0xcb, 0xf5, 0x7c, 0x18, 0x66, 0xab, 0x53, 0xb5, 0x64, 0xe3, 0x30, 0xe3, 0xf9, 0x69,
|
||||||
0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x95, 0x91, 0xf6, 0x8e, 0xd1, 0x06, 0x00, 0x00,
|
0xb5, 0x8b, 0x4f, 0x55, 0x72, 0xe2, 0x34, 0x4e, 0x25, 0xf2, 0x94, 0x25, 0xda, 0xd4, 0xff, 0x6d,
|
||||||
|
0xf3, 0xa6, 0xfe, 0xf9, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x04, 0xa1, 0x9e, 0xf4,
|
||||||
|
0x06, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,11 @@ message Plan {
|
||||||
// at apply time.
|
// at apply time.
|
||||||
repeated OutputChange output_changes = 4;
|
repeated OutputChange output_changes = 4;
|
||||||
|
|
||||||
|
// An unordered set of target addresses to include when applying. If no
|
||||||
|
// target addresses are present, the plan applies to the whole
|
||||||
|
// configuration.
|
||||||
|
repeated string target_addrs = 5;
|
||||||
|
|
||||||
// The version string for the Terraform binary that created this plan.
|
// The version string for the Terraform binary that created this plan.
|
||||||
string terraform_version = 14;
|
string terraform_version = 14;
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
type Plan struct {
|
type Plan struct {
|
||||||
VariableValues map[string]DynamicValue
|
VariableValues map[string]DynamicValue
|
||||||
Changes *Changes
|
Changes *Changes
|
||||||
|
TargetAddrs []addrs.Targetable
|
||||||
ProviderSHA256s map[string][]byte
|
ProviderSHA256s map[string][]byte
|
||||||
Backend Backend
|
Backend Backend
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,6 +82,14 @@ func readTfplan(r io.Reader) (*plans.Plan, error) {
|
||||||
plan.Changes.Resources = append(plan.Changes.Resources, change)
|
plan.Changes.Resources = append(plan.Changes.Resources, change)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, rawTargetAddr := range rawPlan.TargetAddrs {
|
||||||
|
target, diags := addrs.ParseTargetStr(rawTargetAddr)
|
||||||
|
if diags.HasErrors() {
|
||||||
|
return nil, fmt.Errorf("plan contains invalid target address %q: %s", target, diags.Err())
|
||||||
|
}
|
||||||
|
plan.TargetAddrs = append(plan.TargetAddrs, target.Subject)
|
||||||
|
}
|
||||||
|
|
||||||
for name, rawHashObj := range rawPlan.ProviderHashes {
|
for name, rawHashObj := range rawPlan.ProviderHashes {
|
||||||
if len(rawHashObj.Sha256) == 0 {
|
if len(rawHashObj.Sha256) == 0 {
|
||||||
return nil, fmt.Errorf("no SHA256 hash for provider %q plugin", name)
|
return nil, fmt.Errorf("no SHA256 hash for provider %q plugin", name)
|
||||||
|
@ -300,6 +308,10 @@ func writeTfplan(plan *plans.Plan, w io.Writer) error {
|
||||||
rawPlan.ResourceChanges = append(rawPlan.ResourceChanges, rawRC)
|
rawPlan.ResourceChanges = append(rawPlan.ResourceChanges, rawRC)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, targetAddr := range plan.TargetAddrs {
|
||||||
|
rawPlan.TargetAddrs = append(rawPlan.TargetAddrs, targetAddr.String())
|
||||||
|
}
|
||||||
|
|
||||||
for name, hash := range plan.ProviderSHA256s {
|
for name, hash := range plan.ProviderSHA256s {
|
||||||
rawPlan.ProviderHashes[name] = &planproto.Hash{
|
rawPlan.ProviderHashes[name] = &planproto.Hash{
|
||||||
Sha256: hash,
|
Sha256: hash,
|
||||||
|
|
|
@ -85,6 +85,13 @@ func TestTFPlanRoundTrip(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
TargetAddrs: []addrs.Targetable{
|
||||||
|
addrs.Resource{
|
||||||
|
Mode: addrs.ManagedResourceMode,
|
||||||
|
Type: "test_thing",
|
||||||
|
Name: "woot",
|
||||||
|
}.Absolute(addrs.RootModuleInstance),
|
||||||
|
},
|
||||||
ProviderSHA256s: map[string][]byte{
|
ProviderSHA256s: map[string][]byte{
|
||||||
"test": []byte{
|
"test": []byte{
|
||||||
0xba, 0x5e, 0x1e, 0x55, 0xb0, 0x1d, 0xfa, 0xce,
|
0xba, 0x5e, 0x1e, 0x55, 0xb0, 0x1d, 0xfa, 0xce,
|
||||||
|
|
Loading…
Reference in New Issue